ГИТ переключение между коммитами

Я читал здесь и искал много, но не нашел ответа, так что есть способ переключаться между коммитами, как вы делаете с ветвями.Допустим, у меня есть эти коммиты: a;b;c здесь c - мой последний коммит, могу ли я переключиться обратно на commit a? Или вы должны сделать git diff и изменить файлы вручную?

3 ответов


просто типа git checkout a. Или, может быть, с большей пользой.--1-->, в кассу a как новый филиал mybranch.

если вы хотите вернуть b и c, вы можете использовать git revert, или полностью удалить их из истории вашей текущей ветви, вы может git rebase -i a и выбросить их.

даже если вы собираетесь использовать git diff, вам не придется ничего делать вручную. Проверьте git format-patch, git apply и git am для автоматизации создания и применения заплаты.


вы можете создать ветвь из ревизии, с которой хотите работать. Номер редакции можно увидеть с помощью

   git log

ветвь из предыдущей редакции

 git branch -f branchname rev

git использует определение commitish. git определяет commitish как:

commit-ish

указывает имя объекта фиксации или тега. Команда, которая принимает commit-ish аргумент в конечном счете хочет работать с объектом commit, но автоматически разыменования помечают объекты, указывающие на фиксацию.

Это кажется немного неполным, поскольку ветви также часто рассматриваются как commit-ish.

в принципе, вы можете оформить заказ все, что имеет хэш SHA-1.