This is a draft cheat sheet. It is a work in progress and is not finished yet.
Конфигурация
git config --global user.name "Your Name"
|
Устанавливает имя, которое будет указано в коммитах и тэгах |
git config --global user.email "you@example.com"
|
Устанавливает email, который будет указано в коммитах и тэгах |
git config --global color.ui auto
|
Добавляет немного цвета в вывод команды git |
Начало работы
|
Создает новый локальный репозиторий. Если указан [project name], Git создаст новую директорию [project name] и создаст репозиторий внутри нее. Иначе репозиторий будет создан в текущей директории. |
|
Скачивает проект со всей историей с удаленного репозитория. |
Игнорирование файлов
$ cat .gitignore
/logs/
!/logs/,gitkeep
/tmp
*.swp
|
Согласно этому файлу Git будет игнорировать все файлы в папке logs, исключая файл .gitkeep, всю папку /tmp и все файлы формата *.swp. Описание файла работает для директории и поддиректорий, в которой расположен файл .gitignore
|
|
Популярные команды
|
Показывает статус работы. Новые, зафиксированные, измененные файлы. Текущую ветку. |
|
Показывает изменения между рабочей директорией и зафиксированными изменениями |
|
Показывает изменения между зафиксированными изменениями и индексом (закомиченными изменениями) |
|
Отменяет изменения в рабочей директории. Операция необратимая. |
|
Фиксирует изменения файла. Используйте .
, чтобы добавить все изменения в директории и поддиректориях. |
|
Отменяет фиксацию файла. |
git commit [-m "message here"]
|
Создает новый коммит из зафиксированных изменений. Сообщение обязательно. Если не указать его через -m, откроется текстовый редактор. |
|
Удаляет файл из директории и фиксирует удаление файла. |
|
Прячет все незафиксированные изменения в "тайник" (stash). |
|
Применяет изменения из "тайника" в рабочей директории и очищает его. |
|
Очищает "тайник". |
Работа с ветками
|
Список всех локальных веток. -a покажет список всех веток (не только локальные) |
|
Создает новую ветку, ссылающуюся на текущий HEAD |
|
Переключает рабочую директорию на указанную ветку. С опцией -b создает ветку, если она не существует. |
|
Присоединяет указанную ветку к текущей. |
|
Удаляет ветку, если она уже вмержена в другую. Использование -D вместо -d форсирует изменения. |
Просмотр изменений
|
Показывает историю коммитов текущей ветки. -n count ограничивает кол-во коммитов. |
git log --oneline --graph --decorate
|
Обзор истории ветки. Одна строка на коммит. |
|
Список коммитов ветки, которые не вмерженны в ref. ref может быть имя ветки или имя тэга. |
|
Список коммитов ветки, которые есть в ref, но нет в текущей ветке. |
|
Список действий (мержи, коммиты и т.д.), сделанных в локальном репозитории. |
|