Сообщение об ошибке Git Revert?

При попытке отменить фиксацию, которую я сделал в моем репозитории моей папки .emacs.d, я получаю следующее сообщение:

haziz@haziz> git revert 7fe3f

error: could not revert 7fe3f0b... .emacs.d contents from ubuntu hp 15
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

То, что я пытаюсь сделать, это отменить изменения, которые я внес в свой файл init.el, и последовал еще один коммит, который я пытаюсь отменить. Я бы предпочел вернуться, а не сбросить --hard, поскольку, насколько я знаю, последний полностью стирает самую последнюю фиксацию. Я хотел бы создать новую фиксацию, чтобы я мог «отменить» возврат.

Другими словами, я пытаюсь сделать это

Git Commits [A]...[B]

будет возвращен к

Git Commits [A]...[B]...[A']

Я делаю что-то неправильно?

Редактировать: я попытался выполнить сравнение/слияние, насколько это было возможно, а затем еще одну фиксацию, но затем это все равно выдает мне это новое сообщение об ошибке:

haziz@haziz> git revert 7fe3f0ba3182b591f11c0b59e006dc6c990b7470

fatal: Your local changes would be overwritten by revert.
Please, commit your changes or stash them to proceed.

Как мне сказать ему игнорировать (но не удалять) неустановленные файлы, не прибегая к файлу .gitigore. Меня, честно говоря, не волнуют большинство неустановленных файлов, которые являются временными файлами emacs и т. Д.


person haziz    schedule 26.11.2011    source источник
comment
Git говорит вам, что делать: разрешить конфликт   -  person Ben James    schedule 27.11.2011
comment
git status расскажет вам.   -  person Matthieu Moy    schedule 03.05.2015


Ответы (2)


В. Какой конфликт?

Конфликт из-за слияния обратного исправления этой версии, когда более поздние версии изменили те же строки кода: конфликт слияния

Изменить Если вы откатываете последнюю фиксацию, это означает, что вы внесли локальные изменения (см. git status). Не забывайте, что у вас могут быть поэтапные и непоэтапные локальные изменения. Чтобы легко увидеть все локальные изменения, используйте

   git diff HEAD

Вам нужно просто открыть неслитый файл (git status), чтобы увидеть конфликтующие файлы. Вскоре вы увидите маркеры конфликта <<<<, =====, >>>>>.

Ты можешь использовать

git mergetool

для разрешения конфликтов с помощью более удобных инструментов, таких как Meld, KDiff3, Gvim и т. д.

person sehe    schedule 26.11.2011

Вы путаете неотслеживаемые файлы и неустановленные файлы.

  • Неотслеживаемые файлы неизвестны Git, вы никогда не git addредактировали их (т. е. git status покажет их в разделе Untracked files:).

  • Неустановленные файлы — это отслеживаемые файлы с локальными изменениями, которые вы не подготовили для фиксации (т. е. git status отобразит их в разделе Changes not staged for commit:). Эти изменения будут включены в следующую фиксацию, если вы запустите git commit -a, но не запустите git commit без -a.

Нет смысла указывать git игнорировать неустановленные изменения: изменения есть, и они касаются файлов, которые важны для Git.

person Matthieu Moy    schedule 03.05.2015