10 Git команд которые я хотел бы знать раньше
4 сентября 2026 г.
2 мин
17

10 Git команд которые я хотел бы знать раньше

Git знают все. Но большинство использует одни и те же пять команд по кругу add, commit, push, pull, merge. Остальное открывается случайно когда что-то пошло не так.

Вот команды которые я хотел бы знать раньше.

1. git commit --amend --no-edit

Сделал коммит и сразу заметил опечатку или забыл добавить файл. Не нужно делать новый коммит «fix typo». Добавь изменение в стейджинг и используй --amend - предыдущий коммит обновится без изменения сообщения.

git add forgotten-file.ts
git commit --amend --no-edit

2. git stash

Работаешь над фичей - и нужно срочно переключиться на другую ветку. stash убирает незакоммиченные изменения во временное хранилище. git stash pop возвращает их обратно.

git stash
git checkout hotfix-branch
# сделал что нужно
git checkout feature-branch
git stash pop

3. git bisect

Баг появился в какой-то момент но непонятно когда. bisect делает бинарный поиск по истории коммитов - отмечаешь плохой и хороший коммит, Git сам ведёт тебя к тому где сломалось.

git bisect start
git bisect bad          # текущий коммит сломан
git bisect good v1.2.0  # здесь всё работало
# Git будет переключать между коммитами, ты говоришь good/bad

4. git cherry-pick

Нужно перенести конкретный коммит из одной ветки в другую без слияния всей ветки целиком.

git cherry-pick abc1234

Можно перенести диапазон:

git cherry-pick oldest_commit^..newest_commit

5. git clean -fd

Убирает все неотслеживаемые файлы и папки. Полезно когда нужно вернуть рабочую директорию в чистое состояние - особенно после экспериментов или генерации файлов.

git clean -fd  # f = force, d = включая папки
git clean -fdn # сначала посмотреть что удалится (dry run)

6. git log --oneline --graph

Визуальная история веток прямо в терминале. Намного лучше читается чем дефолтный git log.

git log --oneline --graph --decorate --all

7. git blame

Показывает кто и когда написал каждую строку файла. Полезно когда хочешь понять контекст странного куска кода - и кому задать вопрос.

git blame src/utils/auth.ts

8. git reflog

Лог всех действий с HEAD - включая те которые не видны в обычном git log. Спасает когда случайно удалил ветку или сделал reset --hard и хочешь всё вернуть.

git reflog
git checkout HEAD@{2}  # вернуться к состоянию два действия назад

9. git diff --staged

Показывает что именно попадёт в следующий коммит. Простой но недооценённый способ проверить себя перед git commit.

git diff --staged

10. git worktree

Позволяет работать с несколькими ветками одновременно в разных папках - без stash и checkout. Особенно удобно когда нужно быстро проверить что-то в другой ветке не прерывая текущую работу.

git worktree add ../hotfix-branch hotfix-branch
# теперь две рабочие директории - две разные ветки

Git это инструмент который раскрывается постепенно. Базовые команды решают 80% задач. Остальные 20% - это когда что-то пошло не так или когда хочется работать быстрее. 🔧