Git переключение между коммитами - PullRequest
10 голосов
/ 07 января 2012

Я читал здесь и много искал, но не нашел ответа, так есть ли способ переключаться между коммитами, как вы делаете с ветками?последний коммит, могу ли я вернуться к коммиту a?Или вам нужно сделать git diff и изменить файлы вручную?

Ответы [ 3 ]

12 голосов
/ 07 января 2012

Просто введите git checkout a. Или, возможно, более полезно git checkout -b mybranch a, чтобы оформить заказ a в качестве новой ветви mybranch.

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

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

3 голосов
/ 07 января 2012

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

   git log

Разветвление от предыдущей ревизии

 git branch -f branchname rev
1 голос
/ 08 января 2012

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

commit-ish

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...