What's your approach to version control?

Now that Kirby’s command-line interface has been out for a little while, we have at least three ways to install Kirby and keep it up-to-date. So I’m wondering, how do you keep your Kirby projects up-to-date and all the plugins/fields that come with it? What’s your approach to version control?

  • The Kirby CLI
  • Git submodules
  • Downloading the latest ZIP file and manually copying the new files
  • Some other method?

One thing I love about Kirby is the diversity of the community and the fact that there is often more than one “right” way to do things.

I’ll start: personally, the CLI is too daunting for me and I have never set it up.

I always use git submodules to keep my files up to date, even though they can be annoying to move around and add/remove.

The one above :slight_smile:

Kirby is a flat file direct access CMS, no need for CLI here (in my opinion).

Just move around some files and it’s up (to date) and running.

…old skool!

I also use git submodules, although I tend to run into trouble with them from time to time :confused:. The good thing about using submodules is that it gives us the possibility to easily checkout developer branches. That’s missing from the cli, unfortunately.

I do use the cli to quickly install test versions of the starterkit or compatible plugins though, but not for my projects. I don’t like moving files and folder around, though …

I use either submodules (glad to know I’m not the only one having issues with them) or a nice old zip like you mentioned depending on the project!

I used submodules so far but I really like the CLI and it works quite well. So this is the way I want to go in the future. I’m still doing a lot of Drupal stuff and I’m used to use drush, which is Drupals’ super powerful CLI.

I like this way of working. Once you’ve started using the command line you don’t wanna miss it …

I use Composer to install Kirby and some plugins. It’s rather verbose, but the end result is a config file you can version and run with composer install to get the same exact install, so it’s still worthwhile.

So I have this in my .gitignore:

# Ignore stuff installed with Composer
# (e.g. folders but not scripts in plugins dir)
/kirby
/site/plugins/*
!/site/plugins/*.php

And a composer.json like this:

I use CLI to install and update Kirby and Kirby’s plugins.
Very useful I like it.

I use submodules, but find them a bit harder to manage than necessary.
So I started using Kirby’s CLI and like it a lot so far. The main missing feature for me is the ability to install from a branch.

2 Likes

Filezilla and Kirby CLI.