我做了一个
git merge FETCH_HEAD
之后,当git告诉我一个文件存在冲突时,我进行了
git mergetool
在我的情况下,我运行SourceGear DiffMerge作为GUI合并工具。在保存合并文件后不久,我意识到自己犯了一个错误。我只想忘记这次合并,重新开始。
由于我还没有执行过“git add”,更别说提交任何内容了,我认为我可以轻松地通过以下方式消除我的错误并重新进行合并:
git reset FILENAME
git merge FETCH_HEAD
git mergetool
这行不通。"git merge" 向我报告如下:
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.
当然,我不想提交那个搞砸了的合并。 "git mergetool" 抱怨道。
No files need merging
我猜我在使用 "git reset" 命令时犯了一个错误。正确的做法是什么?
补充:
我已经...
git merge --abort
再说一遍:
git merge FETCH_HEAD
这产生了
error: Your local changes to the following files would be overwritten by merge: ...
git status
说:
On branch ....
Your branch is up-to-date with ......
Changes not staged for commit:
modified: nVP.ini
Untracked files:
nVP.ini.orig
no changes added to commit (use "git add" and/or "git commit -a")
只是一个想法:git checkout nVP.ini是否可以使得合并之前的情况重新出现?
nVP.ini
是冲突文件,您可以使用git checkout HEAD -- nVP.ini
命令。git reset
只会重置索引条目,您需要清除工作树,因此请检出HEAD版本。在合并期间,您也可以使用git checkout --ours nVP.ini
实现相同的效果。 - jthill