我正在进行一个相当耗时的合并(将master合并到我的分支中),并解决了所有需要解决的冲突。然而,git告诉我,文件夹中还有一堆冲突需要解决。
我想告诉git只使用我的分支版本的文件夹中的所有内容,忽略master中的任何内容。我试过:
git checkout --ours path/to/folder
但是git告诉我X文件没有我们的版本
我不明白这一点,因为我以为我输入的命令是在告诉git '我不在乎冲突是什么-只要把我的分支的文件夹,然后继续'。
这看起来应该是非常基本的,因为基于文件的等价物很简单(合并,获取我们的分支版本,获取主分支版本)。我希望文件夹存在等价物(即获取此文件夹中所有内容的分支版本)
我很清楚自己搞砸了,所以虽然this question on SO似乎在问几乎相同的问题,但答案似乎涉及多个步骤,我担心搞砸了整个合并,不得不重新开始。
欢迎大家提出建议,告诉我如何实现“忽略此文件夹中的所有冲突”。
1条答案
按热度按时间neekobn81#
一个简单的解决方案是:
如果
git log
因为合并没有给予你一个可用的提交哈希,你可以从git reflog
得到一个最近的。如果您有当时未编入索引的新文件,可以使用
**!!!**为了避免在这里搞砸并删除您仍然需要的东西,请提前使用
git clean -nd -- path/to/folder
来试运行该命令完成了!现在只需
git add -A -- path/to/folder
来暂存文件夹。