Bash / Shell

Git: полезные команды на каждый день

Algonexys · 07.08.2026 · 👁 1

Отмена изменений, поиск ошибочного коммита, перенос правок и очистка веток.

Код

# --- Отмена и правка ---
git commit --amend --no-edit           # добавить файлы в последний коммит
git reset --soft HEAD~1                # отменить коммит, изменения оставить в индексе
git restore --staged file.py           # убрать файл из индекса
git restore file.py                    # вернуть файл к состоянию HEAD
git revert <commit>                    # безопасная отмена в опубликованной истории

# --- Временное сохранение ---
git stash push -m "черновик" -- src/   # спрятать изменения только в src/
git stash list && git stash pop        # посмотреть и вернуть

# --- Поиск ---
git log --oneline --graph --all --decorate -20
git log -S "функция_имя" --oneline     # коммиты, где менялась строка
git log -p --follow -- path/to/file.py # история файла с переименованиями
git blame -L 10,30 file.py             # кто менял строки 10–30
git bisect start && git bisect bad && git bisect good v1.0   # поиск ошибочного коммита

# --- Ветки ---
git switch -c feature/новая-функция
git cherry-pick <commit>               # перенести один коммит в текущую ветку
git branch --merged main | grep -v '\*\|main' | xargs -r git branch -d
git fetch --prune                      # убрать ссылки на удалённые ветки

# --- Разное ---
git diff --stat main...HEAD            # что изменилось в ветке относительно main
git clean -nd                          # показать, что удалит clean (без -n удалит)