KohaCon10: Intro to Git

Andrew Ruthven was up first this morning at the hackfest to tell us about using Git. For those who don’t know Git is what we use to keep track of changes to Koha files.

With git we can track changes to software and files and come back and view a history. Using Git you can look back and find when bugs were introduced (often referred to as ‘blame’) and then you can roll back changes if they caused problems. One thing Andrew mentioned that I need to learn how to do is to apply kudos – this means you can show who sponsored a development (or maybe this just goes in the comments – I’ll have to look into it).

KohaCon10 Hackfest

That said there are some reasons why people don’t like Git. One is that there are sooo many commands (but you can ignore most of the commands in your day-to-day use of Git). Among these commands include sending email, importing patches from your mailbox, etc.

On the other side of things, Git has a lot of reasons why we should use it. First (and most importantly) the cool kids are using it.

So let’s get into the nitty gritty – the commands.

The first thing you need to do is clone the repository:

git clone <URL> <filename>

More tips on using Git can be found on the Koha wiki.

When you’re ready to add a file to the Git repository you need to add it. To do that you simply type:

git add <filename>

When you next do:

git status

you see that there is a new file to add. The next step is to commit your change:

git commit

You commit your changes so that they can be tracked. To make your life easier you can commit all of your changes by simply adding a -a at the end of your command:

git commit -a

One cool tool that Andrew showed that I didn’t know about was GITK – a GUI for viewing Git logs.

I don’t have Andrew’s slides yet, but someone on Twitter linked to these slides from Scott Chacon saying that they were also very helpful.


Leave a comment

Your email address will not be published. Required fields are marked *

Are you human? * Time limit is exhausted. Please reload CAPTCHA.