ГИТ переключение между коммитами
Я читал здесь и искал много, но не нашел ответа, так что есть способ переключаться между коммитами, как вы делаете с ветвями.Допустим, у меня есть эти коммиты: 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.