[Other doc versions]
[Doc downloads (PDF, HTML, XML)]
On this page:
One "gotcha" when starting with Git is the way in which it pushes branches by default. On older versions of Git, pushing without arguments would push all branches that have the same name both locally and remotely. This can result in unexpected behaviour if you have old branches that complain when the remote branch is updated. It can even be quite dangerous if you do a force push and it reverts changes on the server. You can see the current value by running:
git config push.default
If this value is blank or 'matching', it is our recommendation that you reconfigure it to use 'upstream'.
git config --global push.default upstream
There has been some discussion around changing the default behaviour of Git.
http://rogerdudler.github.com/git-guide/
http://byte.kde.org/~zrusin/git/git-cheat-sheet-medium.png
http://nvie.com/posts/a-successful-git-branching-model/
http://zrusin.blogspot.com.au/2007/09/git-cheat-sheet.html
http://ndpsoftware.com/git-cheatsheet.html#loc=workspace;
http://blog.fournova.com/2011/06/git-cheat-sheet/
http://jan-krueger.net/development/git-cheat-sheet-extended-edition
The Git .mailmap
feature is useful locally, and in Stash repositories, to map multiple commit identities to the one Stash user – this can be used to tidy up your Git histories.
The Git documentation for .mailmap
has configuration details (see the "MAPPING AUTHORS" section).