cheat sheets.

$ cheat git
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
Version 15, updated 375 days ago.
. o 0 ( | previous | history | revert to | current | diff )
( add new | see all )