Version Control

From Chemical Engineering @ UP wiki
Jump to: navigation, search

Description

Version control is used to manage multiple versions of a number files during a project. A version control system provides two primary data management capabilities. It allows users to lock files so they can only be edited by one person at a time, or track changes to files made by various persons at the same time.

Motivation

If you are the only author of a file then there is very little reason to implement version control. If, however, you are collaborating with other individuals it becomes important to keep track of each persons contribution. More importantly if two people are working on the same file we must ensure that the work done by one person is not overwritten by that of the other when both parties save their modifications.

In such cases version control may be used to manage this. Version control may take either of the following strategies to do this

  • The first method allows one person to lock the file while they edit it, preventing anyone else from editing it.
  • The second method allows everyone to edit a copy of the file individually and then later combine all these efforts in an intelligent manner.

Wikipedia offers the following comparison between the various systems. On Campus we use mostly use Git, a good argument fo it is to be found at Stackoverflow

Git

This video series is an excellent place to start learning about installing and using Git

Github

We store all our repositories on GitHub, please create an account. After creating an account you will want to create a repository, this is a little less straight forward and depends on which operating system you are using

Proxy configuration

In order for Git to be able to access the Github servers you need to do two things:

1. Issue the following command:

 git config --global http.proxy "http://firewallusername:firewallpassword@cache.up.ac.za:8080"

2. Use the https links for your project rather than the ssh link. You may be prompted for a password - this is your github password. If you don't like typing it every time, just use a similar format as above for your repository access.

Windows

It is recommended that you use the official GitHub for Windows application to manage your repositories that are on GitHub. This installer will also install the commandline git applications, which you can access from Powershell on Windows 7 and above, or from cmd.exe on older versions of Windows.

In order to be able to use GitHub through the Campus Proxy Servers, you may need to set up the proxy from the commandline as shown above.