如何解析 git 状态“未合并路径:”?

我将分支 dog合并到 animal中:

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

I had different directory names and file names in each branch. The animal branch has the changes that I want.

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

我需要执行哪些命令来解决这个问题?

217399 次浏览

你需要做的就是:

# 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

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

git reset

这将切换到 HEAD,告诉 git 忘记任何合并冲突,保持工作目录不变。然后您可以编辑有问题的文件(搜索“更新上游”通知)。一旦你解决了冲突,你就可以逃跑了

git add -p

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

git reset --hard

毁掉你工作目录里所有不必要的改变。