§ Ветки

git branch               -- показать ветки
git checkout <ветка>     -- переключиться на ветку
git merge <ветка|master> -- слить указанную ветку (либо master) в текущую ветку
git fetch origin         -- слить изменения на удаленном хосте с нашей текущей веткой
git push origin [branchname] -- залить коммиты бранча в удаленный хост
git br -u origin/master [своя_ветка] -- отслеживать master с сервера origin

§ Обработка слияния

git merge --abort                  -- отмена мержа
git merge master branch -Xtheirs   -- слияние из master в branch с принятием изменений от master
git diff master branch [file]      -- сравнить master c branch (можно отдельный файл тоже)
git diff master branch --name-only -- только файлы, которые различаются

§ Алгоритм слияния мастер в ветку

git checkout master        -- переход на ветку мастера
git pull                   -- прочесть последние изменения
git checkout mybranch      -- переключиться на свою ветку
git merge master           -- выполнить слияние из мастера
git push                   -- закоммитить изменения
Команда git pull аналогична
git fetch origin HEAD
git merge HEAD
git reset --hard origin/[branchname] --- принудительно догнать ветку

§ Обслуживание

git push origin --delete [branchname] (Удалить ветку с репозитария)
git init --bare (Создать пустой git)
git remote set-url origin git@github.com:[username]/[repo].git (Сменить на ssh-git)

§ Name

git config user.name "Mona Lisa" — установить Мону Лизу в качестве локального имени
git config --global user.name "Fox Lisic" — в качестве глобального
git config --global user.email "support@galaxy-concretica.com" — тоже, но email

§ SVN

Установка глобального рекурсивного игнора
svn propset svn:global-ignores '*.bin' .
svn propedit svn:global-ignores .