Шпаргалка по Git
Полный справочник команд Git, классифицированный по категориям для быстрого поиска
Базовые команды(13)
Создать новый Git репозиторий в текущем каталоге
Клонировать удалённый репозиторий локально
Неглубокое клонирование, получить только последний коммит
Добавить файл в индекс
Добавить все изменения в индекс
Закоммитить изменения из индекса
Изменить последний коммит
Показать текущее состояние репозитория
Показать незакоммиченные изменения
Показать изменения в индексе
Показать все настройки
Установить глобальное имя пользователя
Установить глобальный email
Управление ветками(14)
Показать все локальные ветки
Показать все ветки (включая удалённые)
Создать новую ветку
Удалить ветку
Переименовать ветку
Переключить ветку
Создать и переключиться на новую ветку
Переключить ветку (Git 2.23+)
Создать и переключиться на новую ветку (Git 2.23+)
Слить указанную ветку в текущую
Слить ветку и создать merge-коммит
Rebase текущей ветки на указанную
Продолжить rebase после разрешения конфликта
Выбрать конкретный коммит для слияния в текущую ветку
Удалённые операции(10)
Показать информацию об удалённом репозитории
Добавить удалённый репозиторий
Получить последнее содержимое из удалённого репозитория
Получить обновления всех удалённых репозиториев
Получить и слить удалённую ветку
Получить и сделать rebase
Отправить в удалённый репозиторий
Принудительно отправить (использовать осторожно)
Отправить и установить upstream-ветку
Удалить удалённую ветку
Отмена изменений(8)
Отменить индексацию файла
Отменить последний коммит, сохранив изменения
Отменить коммит и индексацию, сохранив рабочую директорию
Отменить коммит и отбросить все изменения
Отменить указанный коммит (создать новый коммит)
Восстановить файл в рабочей директории (Git 2.23+)
Отменить индексацию файла (Git 2.23+)
Удалить неотслеживаемые файлы и каталоги
Управление тегами(6)
Показать все теги
Создать лёгкий тег
Создать аннотированный тег
Удалить локальный тег
Отправить тег в удалённый репозиторий
Отправить все теги в удалённый репозиторий
История(7)
Показать историю коммитов
Компактный просмотр истории коммитов
Графическое отображение истории всех веток
Показать детали коммита
Показать историю изменений каждой строки файла
Показать всю историю операций
Начать бинарный поиск проблемного коммита
Stash(7)
Сохранить текущие изменения в stash
Сохранить изменения в stash с сообщением
Показать все stash
Применить и удалить последний stash
Применить последний stash без удаления
Удалить последний stash
Удалить все stash
Что такое Git?
Git — это распределённая система контроля версий, созданная Линусом Торвальдсом для управления историей версий кода проекта. Она поддерживает совместную разработку несколькими людьми, отслеживает каждое изменение кода, поддерживает управление ветками и откат версий.
Владение командами Git — необходимый навык каждого разработчика. Эта шпаргалка содержит наиболее часто используемые команды Git, классифицированные по функциям для удобного поиска и изучения.
Использование
Нажмите на любую карточку команды, чтобы скопировать её. Используйте поле поиска для быстрого нахождения конкретной команды. Нажмите на метки категорий для фильтрации команд определённого типа.
Полезные советы
Часто задаваемые вопросы
В: В чём разница между git pull и git fetch?
О: git fetch только получает обновления из удалённого репозитория без автоматического слияния; git pull равен git fetch + git merge. Рекомендуется сначала использовать fetch для просмотра изменений, затем решать, как их слить.
В: Как отменить последний коммит?
О: Используйте git reset --soft HEAD~1 для отмены коммита с сохранением изменений; используйте git reset --hard HEAD~1 для полной отмены и отбрасывания изменений. Если коммит уже отправлен, безопаснее использовать git revert.
В: Как разрешить конфликт слияния?
О: Вручную отредактируйте файл с конфликтом, выберите содержимое для сохранения, затем git add пометит его как разрешённый, и git commit завершит слияние. Используйте git mergetool для визуального разрешения конфликтов.
В: В чём разница между git merge и git rebase?
О: merge создаёт merge-коммит, сохраняя историю веток; rebase перемещает коммиты в конец целевой ветки, делая историю линейной. Для публичных веток рекомендуется merge, для локальных — rebase.
В: Как удалить большой файл из отправленных коммитов?
О: Используйте git filter-branch или BFG Repo-Cleaner. Обратите внимание: это переписывает историю, потребуется принудительная отправка.