Гит, это вам не это, поэтому выпишу тут не совсем тривиальные вещи, ибо искать и вспоминать каждый раз напрягает

git fetch origin [remote-branch]:[new-local-branch]
git checkout [new-local-branch]
git branch --set-upstream-to=origin/[new-local-branch]

git fetch --all
git reset --hard origin/master

или

git reset --hard HEAD
git clean -f -d
git pull

git apply --ignore-whitespace --ignore-space-change --whitespace=fix patch.file

git remote add remote_name location_of_remote
git fetch remote_name
git branch -v -a
git checkout -b second/next remote_name/next

git remote set-url origin https://....git
git remote -v

cd /home/you/projectA
git remote add projectB /home/you/projectB
git fetch projectB
git cherry-pick <first_commit>..<last_commit>

git branch -m new-name                  # если уже в бранче
git branch -m old-name new-name         # другой бранч
git push origin :old-name new-name
git push origin -u new-name


Мелочи

git log --graph | less                                              # симпатичный лог
git merge freebsd-master --no-commit --no-ff                        # смерждить текущий бранч с freebsd-master но коммит не производить
git diff HEAD                                                       # просмотр diff текущего бранча перед commit после merge
git diff ...freebsd-master | less                                   # просмотр diff текущего бранча с freebsd-master
git log --graph ...freebsd-master                                   # просмотр лога коммитов, которые различаются, между бранчами
git ls-files                                                        # список файлов под контролем версий
git ls-files --others --ignored --exclude-from=.gitignore | less    # список файлов не под управлением системы контроля версий (в той же папке)

gitTips (last edited 2017-04-19 17:06:45 by andrey)