Я клонировал проект из Github, и теперь я хочу вернуть его к первому коммиту, как бы я это сделал? Кроме того, как только я вернусь к первому коммиту, как мне перейти ко второму коммиту, а затем со второго на третий и так далее.
3 ответа
Вы можете проверить любую ревизию, указав ее идентификатор SHA1:
git checkout <SHA1>
Для этого был создан вспомогательный скрипт git-walk
. Даже если вы не будете использовать явный сценарий, посмотрите на (очень простой) код, чтобы увидеть, что сделано.
для всех файлов попробуйте
git show HEAD
для конкретного файла попробуйте
git log -p filename
Адаптировано из ответа на вопрос "Что является противоположностью git diff HEAD^
?":
Во-первых, чтобы впоследствии упростить вашу жизнь, вы можете настроить локальный псевдоним, чтобы найти начальный коммит и потомок конкретного коммита (Примечание: это не всегда возможно из-за того, как работает DAG )
git config --local alias.first-sha "!git rev-list --all | tail -n 1"
git config --local alias.child-sha "!git rev-list HEAD..master | tail -n 1"
Затем вы можете оформить первоначальный коммит и пройти по коду, проверив каждого дочернего ша:
git checkout $(git first-sha)
git checkout $(git child-sha)
Если вы новичок в git, я предлагаю прочитать статью о пошаговом коммите, которую я написал, в которой подробно рассказывается о каждой из используемых команд