23.06.2025

Краткая шпаргалка по Git-командам

Git — это мощная и гибкая система контроля версий, с которой сталкивается почти каждый разработчик, вне зависимости от языка программирования или области работы. Она даёт возможность контролировать изменения в коде, откатываться к более ранним версиям проекта, вести параллельную разработку и эффективно взаимодействовать с другими участниками команды. Благодаря распределённой архитектуре Git обеспечивает автономную работу с репозиторием без постоянного подключения к серверу, а также защищает историю проекта от потерь и конфликтов. Однако, несмотря на всю мощь и удобство Git, его команды не всегда легко держать в голове — особенно новичкам или тем, кто использует систему от случая к случаю. Эта краткая шпаргалка поможет быстро вспомнить основные действия в Git без необходимости каждый раз заглядывать в документацию.

Инициализация и клонирование репозитория

git init

Инициализирует репозиторий Git в выбранной папке.

git clone

Скачивает удалённый репозиторий и создаёт его локальную копию.

Отслеживание статуса и просмотр истории коммитов

git status

Выводит текущее состояние рабочей директории и индекса (какие файлы изменены, добавлены, неотслеживаемые и т.д.).

git log

Показывает историю коммитов в обратном хронологическом порядке.

git log --oneline

Упрощённая история: один коммит — одна строка. Удобно для быстрого обзора.

Фиксация изменений и работа с коммитами

git add <файл>

Выбирает конкретный файл для включения в будущий коммит, добавляя его в индекс.

git add .

Подготавливает ко внесению в коммит все изменённые и новые файлы в текущем каталоге и его подпапках.

git commit -m "Описание изменений"

Формирует новый коммит с комментарием, описывающим суть внесённых правок.

git commit -am "Описание"

Позволяет одновременно добавить изменения в уже отслеживаемых файлах и выполнить коммит. Не применимо к новым, ранее не добавленным файлам.

Работа с ветками и переход между ними

git branch

Отображает перечень всех локальных веток проекта.

git branch <название>

Создаёт новую ветку, оставаясь при этом в текущей.

git checkout <ветка>

Осуществляет переход на указанную ветку.

git checkout -b <ветка>

Комбинированная команда: создаёт новую ветку и сразу же переключается на неё.

git merge <ветка>

Объединяет выбранную ветку с текущей, добавляя её изменения.

Синхронизация с удалённым репозиторием

git pull

Получение изменений из удалённого репозитория и автоматическое слияние с локальной веткой.

git push

Отправка локальных изменений в удалённый репозиторий.

git push -u origin <ветка>

Отправка новой ветки и установка связи с origin (удалённым репозиторием).

Откат и отмена изменений

git checkout -- <файл>

Отменяет изменения в файле, возвращая его к последнему зафиксированному состоянию.

git reset HEAD <файл>

Удаляет файл из индекса, но не из рабочей директории.

git reset --hard

Полный откат всех изменений в рабочей директории и индексе.

git revert

Создаёт новый коммит, отменяющий изменения выбранного коммита (без удаления истории).

Временное сохранение и другие полезные команды

git stash

Временно сохраняет незакоммиченные изменения, освобождая рабочую директорию.

git stash pop

Восстанавливает изменения, сохранённые в последнем stash.

git remote -v

Показывает список подключённых удалённых репозиториев и их URL.

git diff

Показывает различия между рабочей директорией и индексом/коммитом.

Ответы на часто задаваемые вопросы (FAQ)

Что делать, если случайно удалил файл?
Если файл был удалён, но ещё не закоммичен, можно вернуть его командой git checkout — <файл>
Если уже был коммит — используйте git log и затем git checkout <коммит> — <файл>

Можно ли переименовать ветку?
Да. Локально: git branch -m old_name new_name
Для удалённой ветки: создайте новую, отправьте её (git push -u origin new_name), затем удалите старую git push origin –delete old_name

Как отменить последний коммит, но сохранить изменения?

git reset --soft HEAD~1

откатит коммит, оставив изменения в индексе.

Как объединить несколько коммитов в один?
Используйте

git rebase -i HEAD~N

, где N — количество последних коммитов, которые нужно объединить.

Полезные советы