git报告合并冲突没有变化,空行(使用git-subtree)

时间:2011-12-29 18:52:54

标签: git subtree git-subtree

我正在测试使用git-subtree将库仓库合并到更大的项目中。原则上似乎很棒。有时当我做“git subree pull”时,我会遇到这样的合并冲突:

<<<<<<< HEAD
=======
An inserted line from the lib repo
>>>>>>> 4d348903449ebb584ab224cb34c6038fbf6b352d

这是在库仓库中进行的更改,合并到一个尚未在本地修改的文件中。或者另一个例子,我在本地项目仓库中添加了一行,但是在一个文件中,该文件是要合并的子树的一部分:

<<<<<<< HEAD
Another inserted line
=======
>>>>>>> 4d348903449ebb584ab224cb34c6038fbf6b352d

为什么git会将这些报告为合并冲突,但该地区报告的冲突是空的?有什么方法可以阻止吗?

这些很容易解决,但它会混淆git-subtree工作流程

2 个答案:

答案 0 :(得分:3)

它不是解决您的根本问题的方法,而是缓解它的根本问题。你可以使用
git merge -Xignore-space-change 忽略提交中的空间更改。

这可能是您的行结尾的问题。您可以在合并中尝试--dry-run替代方法(git merge没有--dry-run选项):

$git merge -Xignore-space-change --no-commit --no-ff $BRANCH

在实际提交之前查看更改。

答案 1 :(得分:-3)

使用子模块来保存共享工作。如果您对需要协调的共享和非共享项目进行大量工作,那么就有git-slave。您的行结束存储差异将消失。