СПРАВОЧНИК
Команды Git
Версионный контроль: коммиты, ветки, удалёнки
Алфавитно-тематический справочник основных команд Git — распределённой системы контроля версий. Команды сгруппированы по задачам: настройка репозитория, базовый цикл работы, история, ветвление, работа с удалёнными репозиториями и откаты. Каждая запись содержит сигнатуру, краткое описание ключевых опций и рабочий пример.
Базовый цикл 8
git add
git add <путь>...Добавляет изменения файлов в индекс (staging area) для следующего коммита.git commit
git commit -m "сообщение"Фиксирует подготовленные в индексе изменения в виде нового коммита.git diff
git diff [<коммит>] [-- <путь>]Показывает построчные различия между рабочим каталогом, индексом и коммитами.git mv
git mv <источник> <назначение>Перемещает или переименовывает файл, сразу регистрируя изменение в индексе.git reset
git reset [--soft|--mixed|--hard] [<коммит>]Сбрасывает HEAD, индекс и (опционально) рабочий каталог к указанному коммиту.git restore
git restore [--staged] <путь>...Восстанавливает файлы из коммита или индекса, отменяя локальные изменения.git rm
git rm <путь>...Удаляет файлы из рабочего каталога и из индекса.git status
git status [-s]Показывает состояние рабочего каталога и индекса: изменённые, добавленные и неотслеживаемые файлы.Ветки 9
git branch
git branch [<имя>]Создаёт, перечисляет и удаляет ветки.git checkout
git checkout <ветка|коммит|файл>Переключает ветки, восстанавливает файлы или переходит к конкретному коммиту.git cherry-pick
git cherry-pick <коммит>...Применяет изменения конкретного коммита к текущей ветке.git merge
git merge <ветка>Объединяет изменения указанной ветки в текущую.git merge --abort
git merge --abortПрерывает начатое слияние и возвращает ветку к состоянию до merge.git rebase
git rebase <базовая-ветка>Переносит коммиты текущей ветки поверх другой, создавая линейную историю.git switch
git switch <ветка>Переключается между ветками — более понятная альтернатива git checkout.git tag
git tag [<имя>] [<коммит>]Создаёт и перечисляет метки (теги) — обычно для маркировки версий релизов.git worktree
git worktree add <путь> <ветка>Подключает несколько рабочих каталогов к одному репозиторию.История 4
git blame
git blame <файл>Показывает, кто и в каком коммите последним менял каждую строку файла.git log
git log [<опции>]Показывает историю коммитов с сообщениями, авторами и датами.git reflog
git reflogПоказывает журнал перемещений HEAD — историю всех действий, включая «потерянные» коммиты.git show
git show [<объект>]Показывает подробности объекта Git: коммита, тега или файла на момент коммита.Настройка и старт 3
git clone
git clone <url> [<каталог>]Клонирует удалённый репозиторий вместе со всей историей в локальный каталог.git config
git config [--global] <ключ> [<значение>]Читает и задаёт параметры конфигурации Git на уровне системы, пользователя или репозитория.git init
git init [<каталог>]Создаёт новый пустой репозиторий Git в текущем или указанном каталоге.Откаты и правки 9
git clean
git clean [-f] [-d]Удаляет неотслеживаемые файлы и каталоги из рабочего каталога.git commit --amend
git commit --amend [-m "сообщение"]Изменяет последний коммит: правит сообщение или добавляет забытые изменения.git reset --hard
git reset --hard <коммит>Полностью сбрасывает HEAD, индекс и рабочий каталог к коммиту, удаляя все изменения.git reset --mixed
git reset --mixed <коммит>Сдвигает HEAD и очищает индекс, оставляя изменения в рабочем каталоге.git reset --soft
git reset --soft <коммит>Сдвигает HEAD к коммиту, сохраняя все изменения в индексе.git restore --source
git restore --source <коммит> <путь>Восстанавливает файл из конкретного коммита, не трогая остальную историю.git revert
git revert <коммит>Создаёт новый коммит, отменяющий изменения указанного коммита.git stash
git stash [push|pop|list|drop]Временно прячет незакоммиченные изменения, очищая рабочий каталог.git stash pop
git stash pop [<stash>]Возвращает спрятанные изменения в рабочий каталог и удаляет запись из стека.Прочее 5
git bisect
git bisect start|good|bad|resetБинарным поиском по истории находит коммит, в котором появилась ошибка.git describe
git describe [<коммит>]Даёт человекочитаемое имя коммиту на основе ближайшего тега.git fsck
git fsckПроверяет целостность объектов репозитория и ищет повреждения.git gc
git gcЗапускает сборку мусора: оптимизирует репозиторий и удаляет ненужные объекты.gitignore
.gitignore (файл)Файл с шаблонами путей, которые Git должен игнорировать.Удалённые 6
git fetch
git fetch [<удалёнка>] [<ветка>]Загружает изменения из удалённого репозитория без слияния с локальными ветками.git pull
git pull [<удалёнка>] [<ветка>]Загружает изменения с удалёнки и сразу сливает их в текущую ветку.git push
git push [<удалёнка>] [<ветка>]Отправляет локальные коммиты в удалённый репозиторий.git push --tags
git push <удалёнка> --tagsОтправляет локальные теги на удалённый репозиторий.git remote
git remote [<подкоманда>]Управляет списком удалённых репозиториев.git submodule
git submodule [add|update|init] ...Управляет вложенными репозиториями (подмодулями) внутри проекта.