У контексті:
git revert HEAD~2 myFile
fatal: bad revision '/Users/rose/gitTest/myFile'
Я впевнений, що HEAD ~ 2 існує.
EDIT Amber правильно. Я мав на увазі використовувати resetзамість revert.
У контексті:
git revert HEAD~2 myFile
fatal: bad revision '/Users/rose/gitTest/myFile'
Я впевнений, що HEAD ~ 2 існує.
EDIT Amber правильно. Я мав на увазі використовувати resetзамість revert.
Відповіді:
Якщо ви хочете лише повернути окремий файл до його стану в певному коміті, ви насправді хочете скористатися checkoutкомандою:
git checkout HEAD~2 myFile
revertКоманда використовується для повертаючись цілі фіксацій (і не повертається вас до цієї фіксації, він на самому ділі просто Скасовує зміни , зроблені з тим , що вчиняють - якщо у вас є інший вчиняють після зазначеного вами, пізніше зробити не буде повернений ).
Я отримував цю помилку в IntelliJ, і жодна з цих відповідей мені не допомогла. Тож ось як я це вирішив.
Якось один із моїх підмодулів додав .gitкаталог. Усі функції git повернулися після того, як я їх видалив.
.gitзнову.
/Users/myusername/Developer/myProject/замість, <Project>і помилка також зникла для мене. У ньому були деякі інші папки, .gitі IntelliJ, мабуть, заплутався.
git revertне приймає параметр імені файлу. Ви хочете git checkout?
У мене був "фатальний: погана редакція" з Idea / Webstorm, оскільки у мене був каталог git всередині іншого, не використовуючи належним чином підмодулі або піддерева.
Я перевірив наявність .gitпапок за допомогою:
find ./ -name '.git' -print
З документів:
Враховуючи один або кілька існуючих комітів, скасуйте зміни, які вносять відповідні виправлення ...
myFileінтерпретується як коміт - оскільки git revertне приймає шляхи до файлів; лише фіксує
Щоб змінити один файл відповідно до попереднього коміту - використовуйте git checkout
git checkout HEAD~2 myFile
Якщо ви хочете видалити будь-який коміт, можливо, вам доведеться використовувати команду git rebase
git rebase -i HEAD ~ 2
він покаже вам останні 2 повідомлення про коміти, якщо ви видалите повідомлення про коміт і збережете, що файл видаленого коміту автоматично зникне ...