Why use a version control system (VCS)?
Have you ever tried to add a new feature to, or change (refactor) an
existing part of, a piece of software (or improve a section of a
document) and eventually realised that you made it worse and you
aren’t sure how to get back to where you started? Perhaps, to avoid
such a situation, you now have cluttered directories filled with
my-code-v2-plus-that-other-feature etc., etc. and you’re
not quite sure which one does what you want. Version control will help
you to keep a log of your changes as well as snapshots of the code as
you apply them; it will also allow you to collaborate far more easily
but, for now, we will focus on a single editor and a linear history.
First make sure you have git installed either through a package manager or grab the appropriate package from the website. Once installed start your terminal emulator and see if
gives you any output.
Initialisation is the same whether you have code already written or you are starting from scratch you can either navigate to the directory you would like to work in
or specify the path
git init /path/to/my/files
I have a folder in my home directory where I keep code and a project I want to start called
git init /home/stripes/code/universe
Then I create a file called
universe.py, a simple python script, in the project directory that looks like this:
Add or Stage
Now to add some files to your repository run one of the following commands
git add file-name git stage other-file
‘stage’ is a synonym for add so keep an eye out if you are reading any other documentation. The same command is used to add changes so after your first commit is completed and you begin to make new changes you will add them using the same command.
Following on from initialisation, to add
universe.py to our git repository:
git add /home/stripes/code/universe/universe.py
Once you have all of the necessary files added you can make your first commit
Now, assuming you haven’t used git before, you should get the message ‘Please tell me who you are.’ You should follow the instructions there to add your name and email address to your commits and then run our last command again.
This time git should open up your default text editor with some text like this:
# Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch master # Changes to be committed: # modified: universe.py #
The recommended style for a commit message is to start with a short, declarative statement of the change, e.g.
Fix frobnicating problem or
Add wibbly-wobbly feature followed by a blank line and optional elaboration. As this is our first commit it is traditional to use the message
Initial commit so type it in, save the file and close your editor.
Initial commit Add first bit of code that does something # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch master # Changes to be committed: # modified: universe.py #
Well, now you should have a shiny new repository of code and are maybe wondering how this helps at all! Stay tuned for part two, please and thank you!