Xcode Git子模块提交问题

时间:2012-09-20 15:35:10

标签: xcode git commit git-submodules

我做了什么

  • 我在我的应用程序中创建了一个名为“parent”的新单页应用程序项目。
  • 我创建了一个名为“child”的新静态库项目,我在父项目文件夹中添加了它作为git子模块。
  • 我已将子项目导入父项目,方法是从子模块目录中将查找器拖动到子项目文件中,将子项目文件拖到我的父项目中 - >父项目文件树。

现在是我的问题

  • 当我想通过文件提交时 - >源控制 - >提交,我选择文件输入我的消息并进行提交一切顺利。

  • 现在当我改变我的子项目并尝试以同样的方式提交时,xcode让我知道提交成功

  • 现在尝试从文件中提取 - >源控制 - >拉,我的子项目是可选择的,但我的父项目有“Uncommited Changes”。

  • 所以我回到提交界面,我看到了应该在上次提交期间提交的项目。特别是我的子模块项目的文件夹。

我采取了哪些措施来解决问题

我在父项目文件夹中使用命令行中的git: git add。 git commit -am“核心已被修改”

当我使用它时,我可以从pull界面访问我的存储库,确认所有更改都已提交。

真正的问题

我的公司只想使用Xcode SCM工具来完成这项工作。 问题似乎与“子模块”的使用有关 如何在不使用命令行的情况下使其工作

2 个答案:

答案 0 :(得分:2)

我们遇到同样的问题。这就像是XCode中的一个小错误。我们目前的解决方法与您提到的相同,唯一的解决方案是修正或增强XCode支持的方式

我们的工作流程如下所示:

-commit子模块随XCode而变化 - 使用XCode进行主要更改 -commit使用CLI更改主目录(git commit) -push main&带有XCode的子模块

我们希望将来可以直接在XCode

中修复这个小错误

答案 1 :(得分:1)

在子模块中进行提交时,它会显示为父级的更改。

解决方案是首先更改子模块,然后将更改提交给父模块。这样,对子模块的所有更改都将捆绑到父项目提交中。