Inhaltsverzeichnis

Git Tips

Getting Help

git help
git help <command>
cat .git/config

https://www.kernel.org/pub/software/scm/git/docs/

Mercurial Command Comparison

See Mercurial <=> Git Command comparison

hg git comment
hg backout git revert options my differ
hg branches git branch [-a]
hg commit -m 'msg' git commit -a -m 'msg' from trial / alternative: git add …; git commit
hg diff -c -1 git diff @{0}^! or git show @{0} See diffs of last commit (tip)
hg diff -c -2 git diff @{1}^! or git show @{1} See diffs of penultimate commit
hg glog git log –graph
hg glog -v git log –name-only
hg init git init from trial
hg pull -u git pull [url] URL may be specified, otherwise remot tracking thing is used?
hg push git push See below
hg status; hg outgoing git status
hg uptdate … git checkout …

Push

In order to push from repo S to reop T, T must not be on the branch you want to push to (typically master). Therefore create a dummy branch git checkout -b dummy on T. Now you can push to T/master from S

Alternatively you can turn T into a „bare“ repo.

See also http://stackoverflow.com/questions/2816369

Clone

Example: Using SSH from within the remote home dir

git clone ssh://[user@]host/~user/tmp/igit igitigit

See git help clone (also for valid URL formats)

The result of git clone <url> without specifying a branch name is dependent on which branch the source repo currently is!

Branches

git branch shows existing local branches, while git branch -r causes the „remote-tracking“ branches to be listed, and option -a shows both. See git-branch

With Git it is not possible to directly swich to a different branch on a cloned repository like in Mercurial. Instead first you have to create a new (local) branch wich „tracks“ the specified remote brach, eg. (origin/stable) and then checkout (=update) this branch to your working directory. The following command does both steps at once:

git checkout -b stable origin/stable

Now you can pull all needed updates whenever a new release is made:

git pull

See also