§ Ветки
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 .