This shows you the differences between two versions of the page.
software:git [2011/03/31 01:47] tjhoban |
software:git [2011/10/26 06:37] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 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.): | ||
- | |||
- | ><code<>git pull origin master</code> | ||
- | |||
- | Add a file: | ||
- | |||
- | <code>git add <filename/directory></code> | ||
- | |||
- | remove a file: | ||
- | |||
- | <code>git rm <filename/directory></code> | ||
- | |||
- | See what changes have been made to the codebase: | ||
- | |||
- | <code>git status</code> | ||
- | |||
- | commit some changes: | ||
- | |||
- | <code>git commit -m "commit message" <files/directories></code> | ||
- | |||
- | Push committed changes up to the central repository (do this after you've finished): | ||
- | |||
- | <code>git push origin master</code> | ||
- | |||
- | See how you've changed a file: | ||
- | |||
- | <code>git diff <filename></code> | ||
- | |||
- | Sometimes (rarely) a repository will get confused. You will see errors like: | ||
- | |||
- | <code>error: unable to create temporary sha1 filename .git/objects/95: File exists</code> | ||
- | |||
- | This can be corrected by either "chown -R prog .git", or by the commands: | ||
- | |||
- | <code> | ||
- | git fsck | ||
- | git prune | ||
- | git repack | ||
- | git fsck | ||
- | </code> | ||
- | |||
- | ====== Sample Usage ====== | ||
- | |||
- | First of all: obtain a copy of the codebase. The only dependency is the 'git-core' package (for ubuntu and debian). | ||
- | <code> | ||
- | git clone ssh://observer@ops-serv2/home/observer/gits/pcfs_prod.git | ||
- | </code> | ||
- | If we already have a repository, we execute a "pull" to ensure our codebase is current before making any changes. | ||
- | <code> | ||
- | cd pcfs_prod | ||
- | git pull origin master | ||
- | </code> | ||
- | We wish to modify the template station.prc slightly. | ||
- | <code> | ||
- | cd pcfs_prod/AuscopeUtils/proc | ||
- | vi station.prc | ||
- | </code> | ||
- | Having saved our changes, we verify what we have changed, and commit it: | ||
- | <code> | ||
- | git diff station.prc | ||
- | git commit -m "Tweaked the doodad." station.prc | ||
- | </code> | ||
- | Now we push our change back up to the primary repository. | ||
- | <code> | ||
- | git push origin master. | ||
- | </code> | ||
- | 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). | ||