5

我们在我们的应用程序中使用 Qooxdoo 框架。目前,它的副本存储在我们的 Git 存储库的根文件夹“qooxdoo”中。我们决定将其替换为直接指向 GitHub Qooxdoo 存储库的子模块,这样我们将来可以更轻松地签出新版本。

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

git rm -r qooxdoo
git 子模块添加 git://github.com/qooxdoo/qooxdoo.git qooxdoo

到目前为止,这工作得很好。然而,当我想将 master 合并到这个分支中以保持它更新直到其他开发人员可以测试他们的代码新版本时,就会出现问题。

虽然仍在 qooxdoo-update 分支中,但我发出命令:

git合并原点/主

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

然后...

git status
未合并的路径:(根据需要使用“git add/rm ...”来标记解析)

   added by us:        qooxdoo

跑步...

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

或者...

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

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

4

2 回答 2

1

如果您想返回文件/目录的上一个最新版本,请执行:

git reset HEAD qooxdoo

应该管用。

于 2016-05-22T14:45:17.177 回答
0

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

于 2013-11-04T00:03:03.420 回答