🔖 Справочник команд урока 19
⚡ Ключевые команды урока
# Слияние веток
git checkout main
git merge feature # влить feature в main
git merge feature main # в одну строку
# Перебазирование
git checkout feature
git rebase main # перебазировать feature поверх main
# Исправить последний коммит
git commit --amend -m "Новое сообщение"
# Откат HEAD (осторожно с --hard!)
git reset --soft HEAD~1 # сохраняет изменения в staging
git reset --mixed HEAD~1 # сохраняет изменения в рабочем каталоге
git reset --hard HEAD~1 # УДАЛЯЕТ изменения безвозвратно
# Безопасная отмена коммита
git revert HEAD
git revert abc1234
# Переключение между ветками
git checkout main
git checkout -b feature
Новые команды этого урока
git merge
Объединяет изменения из одной ветки в другую. Создаёт коммит слияния, сохраняя историю обеих веток.
git checkout main
git merge feature
git merge feature— влить ветку feature в текущуюgit merge --no-ff feature— всегда создавать merge commitgit merge --abort— отменить слияние при конфликте
git rebase
Перебазирует коммиты текущей ветки поверх указанной ветки. История становится линейной, но переписываются хэши коммитов.
git checkout feature
git rebase main
git rebase main— перебазировать текущую ветку поверх maingit rebase --continue— продолжить после разрешения конфликтаgit rebase --abort— отменить перебазирование
git reset
Изменяет указатель HEAD и/или состояние индекса и рабочего каталога. Три режима: soft, mixed, hard.
git reset --soft HEAD~1
git reset --mixed HEAD~1
git reset --hard HEAD~1 # ⚠️ ОПАСНО — безвозвратно
--soft— только перемещает HEAD; изменения остаются в staging--mixed— перемещает HEAD и сбрасывает staging; изменения в рабочем каталоге--hard— перемещает HEAD, сбрасывает staging и рабочий каталог
git revert
Безопасно отменяет изменения коммита, создавая новый коммит-откат. Не изменяет историю — безопасно на публичных ветках.
git revert HEAD
git revert abc1234
git revert HEAD— отменить последний коммитgit revert abc1234— отменить конкретный коммит по хэшуgit revert --no-commit HEAD~3..HEAD— отменить несколько коммитов без немедленного создания коммита
git commit --amend
Изменяет последний коммит без создания нового. Удобно для исправления сообщения или добавления забытых файлов.
git commit --amend -m "Исправленное сообщение"
git add forgotten.txt
git commit --amend --no-edit
--amend -m "..."— изменить сообщение коммита--amend --no-edit— добавить файлы без изменения сообщения
Ранее изученные команды
git checkout— переключение веток и восстановление файловgit branch— управление веткамиgit push— отправка изменений в удалённый репозиторийgit log— просмотр истории коммитовgit status— статус рабочего каталога и индекса