Difference between revisions of "Version Control"

From Chemical Engineering @ UP wiki
Jump to: navigation, search
(Git)
Line 13: Line 13:
 
Wikipedia offers the following [http://en.wikipedia.org/wiki/Comparison_of_revision_control_software comparison] between the various systems. On Campus we use mostly use Git, a good argument fo it is to be found at [http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide/2678236#2678236 Stackoverflow]
 
Wikipedia offers the following [http://en.wikipedia.org/wiki/Comparison_of_revision_control_software comparison] between the various systems. On Campus we use mostly use Git, a good argument fo it is to be found at [http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide/2678236#2678236 Stackoverflow]
  
=== Git ===
+
=== Git/Github ===
  
 
We store all our repositories on [https://github.com/ 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  
 
We store all our repositories on [https://github.com/ 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  
  
''' Windows '''
+
==== Proxy configuration ====
 +
In order for Git to be able to access the Github servers you need to do two things:
  
Git on windows is mainly managed by the Git interface, though this is a little cumbersome if you're not used to the command prompt and it is recommended that you try out tortoise git as a GUI generation friendly alternative. The best instrucitons for such an installation are provided [http://dbanck.de/2009/10/08/github-windows-and-tortoisegit-part-1-installing-pulling/ here] and on the git hub site itself.
+
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.
  
Note : There seems to be an issue with the proxy which I'm  still resolving.
+
==== Windows ====
 +
 
 +
Git on windows is mainly managed by the Git interface, though this is a little cumbersome if you're not used to the command prompt and it is recommended that you try out [http://code.google.com/p/tortoisegit/ tortoise git] as a GUI generation friendly alternative. The best instrucitons for such an installation are provided [http://dbanck.de/2009/10/08/github-windows-and-tortoisegit-part-1-installing-pulling/ here] and [http://help.github.com/set-up-git-redirect on the GitHub site] itself.

Revision as of 12:30, 13 March 2012

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/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

Git on windows is mainly managed by the Git interface, though this is a little cumbersome if you're not used to the command prompt and it is recommended that you try out tortoise git as a GUI generation friendly alternative. The best instrucitons for such an installation are provided here and on the GitHub site itself.