Что означает "фатальный: плохой пересмотр"?
в контексте:
git revert HEAD~2 myFile
fatal: bad revision '/Users/rose/gitTest/myFile'
Я уверен, что голова~2 существует.
EDIT Янтарь правильно. Я имел в виду, чтобы использовать reset
вместо revert
.
9 ответов:
Если вы хотите вернуть один файл в состояние, в данный коммит, вы на самом деле хотите использовать :
git checkout HEAD~2 myFile
The
revert
команда используется для возврата всех коммитов (и она не возвращает вас до это фиксация; это на самом деле просто возвращает изменения составила по этой фиксации-если у вас есть еще одна фиксация после указанной вами, более поздняя фиксация не будет возвращена).
Я получал эту ошибку в IntelliJ, и ни один из этих ответов не помог мне. Так вот как я это решил.
Как-то один из моих подмодулей добавил a . Все функции git вернулись после того, как я удалил его.
у меня была" фатальная : плохая ревизия " с Idea / Webstorm, потому что у меня был каталог git внутри другого, без использования правильных подмодулей или поддеревьев.
Я проверил
.git
dirs с :find ./ -name '.git' -print
git revert принимает только коммиты
документы:
учитывая один или несколько существующих коммитов, отмените изменения, внесенные соответствующими исправлениями ...
myFile
интерпретируется как фиксация-потому чтоgit revert
не принимает пути к файлам; совершает толькоизмените один файл в соответствии с предыдущим фиксацией
чтобы изменить один файл в соответствии с предыдущей фиксацией-используйте
git checkout
git checkout HEAD~2 myFile
У меня была аналогичная проблема с Intellij. Вопрос в том, что кто-то добавил файл, который я пытаюсь сравнить в Intellij для .gitignore, фактически не удаляя файл из Git.
почему вы задание
myFile
есть?в git revert отменяет изменения в коммит(Ы), который вы укажете.
git revert HEAD~2
возвращает
HEAD~2
commitgit revert HEAD~2 myfile
возвращается
HEAD~2
иmyFile
Я
myFile
- это файл, который вы хотите вернуться? В таком случае используйте
git checkout HEAD~2 -- myFile