切换到子模块时Git合并

Fre*_*dyC 5 git git-merge git-submodules

我们在我们的应用程序中使用Qooxdoo框架.目前,它的副本存储在根文件夹"qooxdoo"中的Git存储库中.我们决定将子模块直接替换为GitHub Qooxdoo存储库,因此我们可以更容易地检查新版本.

我基于master创建了这些更改的分支,称为qooxdoo-update.完全删除旧文件夹并为qooxdoo添加了子模块.

git rm -r qooxdoo
git submodule add git://github.com/qooxdoo/qooxdoo.git qooxdoo

到目前为止,这非常好.但是当我想将master合并到这个分支以保持更新直到其他开发人员可以测试他们的代码而不是新版本时出现问题.

在qooxdoo-update分支中我发出命令:

git merge origin/master

CONFLICT(文件/目录):在origin/master中有一个名为qooxdoo的目录.添加qooxdoo作为qooxdoo~HEAD

然后...

git status未
合并路径:(根据需要使用"git add/rm ..."来标记分辨率)

   added by us:        qooxdoo
Run Code Online (Sandbox Code Playgroud)

运行...

git rm qooxdoo
qooxdoo:需要合并
rm'qooxdoo'
文件'qooxdoo' 的取消链接失败.我应该再试一次吗?(Y/N)

要么...

git add qooxdoo
错误:无法索引文件qooxdoo
致命:更新文件失败

所以我不确定如何解决冲突以成功完成合并.

Vij*_*han 0

git rm -rf qooxdoo命令应该在其自己的提交中完成,然后添加子模块。这将告诉 git (当从 master 合并到分支时)有关意图。目前,被合并的相同提交只是替换文件/内容 - 所以 git 会感到困惑。您有机会重播主提交吗?