Setup ----- git clone <repo> clone the repository specified by <repo>; this is similar to "checkout" in some other version control systems such as Subversion and CVS Info ---- git diff show a diff of the changes made since your last commit git log show recent commits, most recent on top git show <rev> show the changeset (diff) of a commit specified by <rev>, which can be any SHA1 commit ID, branch name, or tag Adding / Deleting ----------------- git add <file1> <file2> ... add <file1>, <file2>, etc... to the project git add <dir> add all files under directory <dir> to the project, including subdirectories git add . add all files under the current directory to the project git rm <file1> <file2> ... remove <file1>, <file2>, etc... from the project Committing ---------- git commit <file1> <file2> ... [-m <msg>] commit <file1>, <file2>, etc..., optionally using commit message <msg>, otherwise opening your editor to let you type a commit message git commit -a [-m <msg>] commit all files changed since your last commit, optionally using commit message <msg> Branching --------- git branch list all branches git branch <branch> create a new branch named <branch>, referencing the same point in history as the current branch git branch <branch> <start-point> create a new branch named <branch>, referencing <start-point>, which may be specified any way you like, including using a branch name or a tag name git branch -d <branch> delete the branch <branch>; if the branch you are deleting points to a commit which is not reachable from the current branch, this command will fail with a warning. git branch -D <branch> even if the branch points to a commit not reachable from the current branch, you may know that that commit is still reachable from some other branch or tag. In that case it is safe to use this command to force git to delete the branch. git checkout <branch> make the current branch <branch>, updating the working directory to reflect the version referenced by <branch> git checkout -b <new> <start-point> create a new branch <new> referencing <start-point>, and check it out. Merging ------- git merge <branch> merge branch <branch> into the current branch; this command is idempotent and can be run as many times as needed to keep the current branch up-to-date with changes in <branch> Reverting --------- git revert <rev> reverse commit specified by <rev> and commit the result. This does *not* do the same thing as similarly named commands in other VCS's such as "svn revert" or "bzr revert", see below git checkout <file> re-checkout <file>, overwriting any local changes git checkout . re-checkout all files, overwriting any local changes. This is most similar to "svn revert" if you're used to Subversion commands
cheat sheets.
$ cheat git( add new | see all )
- updated sheets

- boyfriend
- girlfriend
- loose_weight
- nils
- administrateme
- okay
- bartleby
- xpath
- readme
- git
- sprintf
- shoulda
- nonsense
- lucene_query_syntax
- rspec
Advertisement