|Version 9 (modified by dukeleto, 6 years ago)|
Before you do anything, you should probably install the bash completion script for git, it makes the learning curve a lot less steep: http://repo.or.cz/w/git.git?a=blob;f=contrib/completion/git-completion.bash
To check out a repo:
git clone git://github.com/leto/parrot.git
There should now be a directory called "parrot" in your current directory.
Next we modify a file so we can commit a change:
echo "Some junk" >> README
To see a list of modifies files:
should produce something like
# On branch master # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: README #
To commit all local changes:
git commit -a -m "I did some stuff"
If you had multiple changed files that you wanted to commit seperately, you would do
git add README git commit -m "I commit stuff"
LESSON: Git only commits files you have added already. The -a flag lets you be lazy and say "go ahead and add all modified files" when you are commiting.
git log -10 to see the commit message and metadata for the last 10 commits.
git log -p to see the commit history as a series of patches .
You can give git log a file name or directory or a branch name. Very useful!
The equivalent of "svn up" is
To see a list of current local branches:
To see all local and remote branches:
git branch -a
create a branch
Suppose you want to create a local branch to work on your latest and greatest new feature. To create a new branch and check it out all in one automagical command:
git checkout -b new_branch
If you want to create the branch and check it out seperately (maybe because you want to do something else in between or batch the creation of many branches/etc..)
git branch some_branch
Later on, you can checkout some_branch with:
git checkout some_branch
Let's say you are on new_branch but you want to go back to the master branch:
git checkout master
To merge the foobar branch into the current branch:
git merge foobar
Git has everyone's favorite VCS command, blame!
git blame somefile