Публикую самому себе заметку по работе с распределенной системой хранения версий GIT.

fetch (git fetch [remote-name]) — извлеч данныне из удаленного репозитория, чтобы потом слить их с локальными наработками
pull — примерно тоже самое, но пытается автоматом слить изменения с локальной веткой
push (git fetch [remote-name] [branch]) — залить на удаленный сервер, с учетом того, что никто другой не внес изменений между pull и push.

Добавить в конфиг (глобальный конфиг с ключом —global) имя пользователя и почту, которая будет отображаться при коммитах:

Получить помощь по любой команде:

Добавление удаленного репозитория:

Показать информацию об удаленном репозитории:

Теги
Теги можно приминять для фиксирования стабильных релизов например. Теги бывают 2 типов легковестные (просто ссылка на нужный коммит) и аннотированные (новая ветка, хранящаяся в базе как объект и имеющая ряд параметров). Для релизов рекомендуется создавать аннотированные теги (tag -a)

Пример создания аннотированного тега:

Поставить тег можно на любом прошедшем коммите, для этого надо передать хэш коммита последним параметром:

Push не отправляет явно метки на удаленный сервер. Для этого надо явно отправлять их:

Плюшки
Для удобства можно настроить алиасы команд, чтобы писать сокращенно или не путаться в понятиях и внести более однозначные и легковоспринимаемые имена команд для себя.
Делается это так:

Ветки
Ветки это как раз одна их тех замечательных плюшек, из-за которой нужно использовать систему контроля версий GIT.

Создать новую локальную ветку можно так:

Ветка будет создана от верхушки (HEAD) активной ветки.
Чтобы переключится на созданную ветку нужно выполнить:

Если вам необходимо резко внести в релиз исправление, то можно создать ветку hotfix внести в нее исправления и слить с веткой master так:

Следует помнить, что изменения слитые в мастер не внесет изменения в другие ветки при «Fast forward»
После чего не забываем удалить временную ветку hotfix

Слияние может не пройти успешно в виду существования конфликтов. Чтобы разрешить конфликт не из командной строки, а из графического редактора стоит выполнить команду:

Если ветка была слита, но удалить ее забыли, то ее можно отобразить командой:

Ну и посмотреть все ветки, которые идут от текущей ветки, но еще не слиты с ней:

Создать свою локальную ветку из удаленной ветки:

Прочтите также: