[dundee] Git Recap
Barry Carr
barry at benericht.co.uk
Fri Feb 29 11:45:58 GMT 2008
Hi Folks,
Here are those Git commands I used last night:
** Create a repository:
git init
if you want your repositories elsewhere set-up an environment variable called GIT_DIR
** Add files to repository:
git add *.pas *.py *.rb
add will take multiple file masks and recurs down local sub dirs. Create a .gitignore file to create
a list of file extensions that git should, well, ignore. One file mask per line
** To commit changes to a repository:
git commit -a
this command will place you into git's default text editor for you to add a commit message. To
change the default editor create a GIT_EDITOR environment variable that points to you favourite
editor. e.g.: export GIT_EDITOR=/home/me/myeditor. Add the -m switch to write you commit message on
the command line and skip the text editor stage.
** To revert a change, or got back to a previous version:
git reset --hard HEAD
Here, HEAD means the last commit. You can count backwards from the current head by using the caret
e.g.: git reset --hard HEAD^ will revert to HEAD -1; HEAD^^ = HEAD -2 etc..
** To create a branch:
git branch MyNewBranch
Remember, all that the above has done is create the branch and not move you on to it. To see a list
of branches just use: git branch. An asterisk displayed next to a branch indicates the current
branch. A branch called master is the default branch that git automatically creates when you create
a repo
** To move on to a branch or change you current branch:
git checkout MyNewBranch
** To merge two branches:
git checkout master
git merge MyNewBranch
** To see if anything needs committing:
git status
** To see the differences between whats in the repo head and on disk:
git diff
I think its possible to specify your own diff viewer, but I'm not sure how to do it.
** Other useful commands
git fsck
Will check the integrity of your repository
git gc --prune
Will tidy up your repository and compact so that it will take up less space on disk.
Virtually all of these commands have additional switches that I've not explained. Full documentation
can be found via Git's homepage:
http://git.or.cz/
Enjoy
Cheers
Barry
More information about the dundee
mailing list