104

我将分支合并doganimal. 当我去提交时,我得到以下信息:

Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution
both deleted:       ../public/images/originals/dog.ai
added by them:      ../public/images/original_files/dog.ai

我在每个分支中都有不同的目录名和文件名。该animal分支具有我想要的更改。

当我去重置头部时,它不起作用。当我去采取任何其他 git 操作(删除、结帐等)时,我得到一个path not found错误。

我需要执行什么命令来解决这个问题?

4

2 回答 2

94

您需要做的就是:

# if the file in the right place isn't already committed:
git add <path to desired file>

# remove the "both deleted" file from the index:
git rm --cached ../public/images/originals/dog.ai

# commit the merge:
git commit
于 2010-07-08T19:18:04.190 回答
67

如果您的文件已经签入,并且您的文件已被合并(但未提交,因此合并冲突被插入到文件中),则另一种处理这种情况的方法是运行:

git reset

这将切换到 HEAD,并告诉 git 忘记任何合并冲突,并保持工作目录不变。然后您可以编辑有问题的文件(搜索“更新的上游”通知)。处理完冲突后,您可以运行

git add -p

这将允许您以交互方式选择要添加到索引的更改。一旦索引看起来不错(git diff --cached),您可以提交,然后

git reset --hard

销毁工作目录中所有不需要的更改。

于 2012-06-19T05:50:31.397 回答