Я читал здесь и много искал, но не нашел ответа, так что есть способ переключаться между фиксациями, как вы делаете с ветвями. Скажем, у меня есть эти коммиты: a;b;c
где c
- это мой last commit, могу ли я вернуться к фиксации a
? Или вы должны сделать git diff
и изменить файлы вручную?Переключение Git между коммитами
ответ
Просто введите 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
, чтобы автоматизировать создание и применение исправлений.
Вы можете создать ветку из ревизии, из которой вы хотите работать. Номер версии можно увидеть, используя
git log
разветвляются от предыдущей версии
git branch -f branchname rev
мерзавец использует определение commitish. мерзавец определяет commitish как:
commitish
Указывает имя принять или объект тегов. Команда, которая принимает аргумент commit-ish , в конечном итоге хочет работать с объектом commit, но автоматически объекты тегов заметок, которые указывают на фиксацию.
Это кажется немного неполным, так как ветви также часто рассматриваются как фиксация.
В принципе, вы можете проверить все, что имеет хэш-код sha-1.
- 1. Git - Интерактивный журнал/переключение между коммитами
- 2. Git содержит между произвольными коммитами
- 3. git rebase: движущиеся фрагменты между коммитами
- 4. Удалите git commit между двумя коммитами
- 5. Git сохранить сырые файлы между коммитами
- 6. Git. Отверстие функции проверки между коммитами слияния
- 7. Переключение между ветвями GIT
- 8. Перемещение файлов между коммитами
- 9. Удаление фиксации между другими коммитами
- 10. Git правильное переключение между ветвями
- 11. Разница между двумя коммитами с двумя разными родительскими коммитами
- 12. Работа со старыми коммитами git
- 13. Переключение ветвей вместе с движущимися совершенными, но неровными коммитами
- 14. Игнорировать * все * пробелы изменяются с помощью git-diff между коммитами
- 15. Git слияние изменений между двумя конкретными коммитами из другой ветви
- 16. git cherry-pick a diff между коммитами без общей истории?
- 17. Сохранение всего git diff между двумя коммитами в текстовом файле
- 18. Разница между коммитами существует, но git log не показывает изменений
- 19. git diff файл между двумя последними коммитами, которые его изменили
- 20. Как получить интердифф между этими двумя git-коммитами?
- 21. git: показать все файлы, измененные между двумя коммитами
- 22. Можете ли вы получить фактические различия между двумя git-коммитами?
- 23. Как показать изменения между коммитами с JGit
- 24. Как скопировать изменения кода между коммитами
- 25. Переключение между контролем источника Git и TFS в visual studio
- 26. Проверьте, был ли файл изменен между коммитами
- 27. Переключение между ветвями в SVN и Git
- 28. Переключение между учетными записями git на mac
- 29. GIT - Переключение между ветвями без файлов смешивания
- 30. Переключение между ветвями Git на Android Studio
Ветвь _is_ a commit (с символическим именем, но все же совершает ошибку) – fge
Возможный дубликат [Как переключить репозиторий git на конкретный коммит] (http://stackoverflow.com/questions/4940054/how -can-i-switch-my-git-repository-to-a-specific-commit) –