NOTE: English translation is here.
Надоело постоянно гуглить одно и то же, решил записать в отдельную заметку.
- Установить значения username/email:$ git config –global user.email “e0ne@e0ne.info”$ git config –global user.name “e0ne”через .gitconfig это делать не всегда удобно, т.к. иногда нужно разные name/email для разных upstream repos
- Установить upstream branch:$ git branch –set-upstream master upstream/master
- Поменять последний коммит:$ git commit –amend -a
- Поменять автора нескольких коммитов:$ git filter-branch –commit-filter ‘ if [ “$GIT_COMMITTER_NAME” = “” ]; then GIT_COMMITTER_NAME=""; GIT_AUTHOR_NAME=""; GIT_COMMITTER_EMAIL=""; GIT_AUTHOR_EMAIL=""; git commit-tree “$@"; else git commit-tree “$@"; fi’ HEAD$ git push
- После мерджа пометить конфиликт как resolved:$ git add file
- Откатить локальные коммиты:reset –soft HEAD^
- Переместить тег на другой коммит:$ git tag -d ver_0.1$ git push origin :refs/tags/ver_0.1
- Лучший мануал по git’у:http://git-scm.com/book
- Мой .gitconfig лежит тут: https://github.com/e0ne/dot-files/blob/master/.gitconfig
- Мой .gitignore лежит тут: https://github.com/e0ne/dot-files/blob/master/.gitignore
- Cоздаем branch из tag’а: http://blog.e0ne.info/post/Git-create-branch-from-tag.aspx
- Мерджим апдейты с другого репозитория: http://korenkov.info/fetching-updates-from-another-git-repo[Updated 26.04.13]
- Обновить исходники, затирая локальные изменения:$ git fetch –all$ git reset –hard origin/master
- Удалить все недобавленные в репозиторий файлы и директории:$ git clean -f -d