【问题标题】:Xcode Git Submodule Commit IssueXcode Git 子模块提交问题
【发布时间】:2012-09-13 00:30:22
【问题描述】:

我做了什么

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

现在是我的问题

  • 当我想通过文件 -> 源代码管理 -> 提交进行提交时,我选择文件输入我的消息并进行提交,一切正常。

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

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

  • 于是我回到提交界面,看到了上次提交时应该提交的项目。尤其是我的子模块项目的文件夹。

我为解决问题所做的工作

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

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

真正的问题

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

【问题讨论】:

    标签: xcode git commit git-submodules


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 你能给我一个更简洁的程序来实现这一点吗?
      • 看来你已经知道如何提交更改了,我在这里要说的是(1)先在子模块中提交更改(2)然后在父存储库中提交更改。我不知道如何使它更简洁。根据您的描述,听起来您知道如何反其道而行之。
      • 对不起,这是我的错误...不太简洁
      • 当我执行您的程序时,它的工作方式相同。 Xcode 说源已经提交,但是当我回到提交界面时,它们仍然在这里。也许我错过了一步。你如何更新你的子模块?
      • 在什么界面下提交?
      猜你喜欢
      • 2012-06-06
      • 1970-01-01
      • 2015-01-13
      • 2013-01-03
      • 1970-01-01
      • 2010-12-17
      • 2014-08-31
      • 1970-01-01
      • 2021-12-07
      相关资源
      最近更新 更多