====== git ====== git is the revision control system which has been adopted to keep track of the AuScope codebase. A comprehensive reference can be found at the git homepage: [[http://git-scm.com/]]. The quick version: pull changes down from the central repository (do this before starting your own work.): git pull origin master Add a file: git add remove a file: git rm See what changes have been made to the codebase: git status commit some changes: git commit -m "commit message" Push committed changes up to the central repository (do this after you've finished): git push origin master See how you've changed a file: git diff Sometimes (rarely) a repository will get confused. You will see errors like: error: unable to create temporary sha1 filename .git/objects/95: File exists This can be corrected by either "chown -R prog .git", or by the commands: git fsck git prune git repack git fsck ====== Sample Usage ====== First of all: obtain a copy of the codebase. The only dependency is the 'git-core' package (for ubuntu and debian). git clone ssh://observer@ops-serv2/home/observer/gits/pcfs_prod.git If we already have a repository, we execute a "pull" to ensure our codebase is current before making any changes. cd pcfs_prod git pull origin master We wish to modify the template station.prc slightly. cd pcfs_prod/AuscopeUtils/proc vi station.prc Having saved our changes, we verify what we have changed, and commit it: git diff station.prc git commit -m "Tweaked the doodad." station.prc Now we push our change back up to the primary repository. git push origin master. The modified station.prc can now be retrieved by executing a "git pull" on any other git repository (ie. in the /usr2/AuScopeUtils directories on the remote pcfs machines).