0

我做了什么

  • 我在我的应用程序中创建了一个名为“父级”的新单页应用程序项目。
  • 我创建了一个名为“child”的新静态库项目,并将其作为 git 子模块添加到我的父项目文件夹中。
  • 我已经通过从子模块目录中的查找器将子项目文件拖到 Xcode 窗口中的父项目 -> 父项目文件树中,将子项目导入到父项目中。

现在是我的问题

  • 当我想通过 File -> Source Control -> Commit 进行提交时,我选择文件输入我的消息并进行提交,一切正常。

  • 现在,当我对我的子项目进行更改并尝试以相同的方式提交时,xcode 让我知道它成功提交

  • 现在尝试从文件 -> 源代码管理 -> 拉取,我的子项目是可选择的,但我的父项目有“未提交的更改”。

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

我做了什么来解决这个问题

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

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

真正的问题

我的公司希望仅使用 Xcode SCM 工具来实现这一点。问题似乎与使用“子模块”有关如何在不使用命令行的情况下使其工作

4

2 回答 2

2

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

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

- 使用 XCode 提交子模块更改 - 使用 XCode 提交主要更改 - 使用 CLI ( git commit ) 提交主目录更改 - 使用 XCode 推送主和子模块

我们希望这个小错误将来可以直接在 XCode 中修复

于 2012-11-30T08:09:20.787 回答
1

当您在子模块中提交时,它会显示为父模块中的更改。

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

于 2012-09-20T15:37:18.113 回答