Bash / Shell
Git: полезные команды на каждый день
Отмена изменений, поиск ошибочного коммита, перенос правок и очистка веток.
Код
# --- Отмена и правка --- 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 удалит)