【问题标题】:Problem with Git Repository in Xcode 4Xcode 4 中 Git 存储库的问题
【发布时间】:2011-09-07 02:12:30
【问题描述】:

在我的 iPhone 应用程序中,我使用 Xcode 4 的内置 Git 存储库,以便所有团队成员都可以处理同一个项目。

现在的问题是,即使我将更改提交到存储库后,它仍然在提交的文件前面显示修改后的 (M) 符号。

可能出了什么问题?

我想确保一旦我提交更改,该文件不应显示“M”。

我必须做任何设置才能使其正常工作吗?

可以做什么?

【问题讨论】:

  • 您是从 Xcode 还是从命令行提交文件?
  • @Abizern:我从 Xcode 提交了我的文件
  • 在您输入提交信息的面板中 - 您是否选择了要添加到提交中的文件?
  • @Abizern:是的,我在提交之前选择了我的文件。
  • 您是否通过查看 git 日志来验证文件是否在提交中?

标签: iphone objective-c xcode git xcode4


【解决方案1】:

内置的 Git 存储库只是一个本地存储库。你如何与你的团队分享这一点?例如,如果您将该存储库连接到 GitHub,您将遇到问题,因为实现不是 100% 可靠的。在这种情况下,我将使用命令行并 git add/commit/push 更改。 GitHub Blog有讨论和教程。

【讨论】:

    【解决方案2】:

    不知道你在 Xcode 中做什么,或者你是如何设置你的存储库的,我只能说你应该在命令行中检查你的存储库的状态。也许您的提交由于某种原因而失败,并且您在 Xcode 中看不到该消息。

    • 尝试git status 查看您的存储库处于什么状态。
    • 尝试git add <your files>,然后尝试git commit,看看您是否真的可以提交您的更改。

    【讨论】:

      【解决方案3】:

      您是否在提交之前暂存文件 (git add)?否则提交将什么都不做。

      【讨论】:

      • 在这种情况下分期是什么意思?我通常只是右键单击文件并第一次单击源代码管理下的“添加”,然后我只是执行“提交更改”。
      • 命令行 git 有一个两步提交过程。首先,您通过暂存它们来确定要提交的更改文件。暂存所有要提交的文件后,即可提交更改。这允许您将更改的文件挑选到单独的提交中。没有第一次登台的提交没有任何效果,因为只提交了分阶段的更改。相反,Mercurial 会自动提交所有更改的文件。它没有暂存概念(至少,没有启用扩展)。
      • OP 的问题是关于 Xcode 的 git 接口,而不是命令行 git 接口。 Xcode 隐藏了 git 的添加/提交区别,以便为 SVN 或 git 跟踪的项目向用户呈现相同的界面。
      • Xcode 不会将未暂存的文件显示为“M”修改,对吗?
      【解决方案4】:

      您需要在 Xcode 4 中推送更改以删除“M”或修改状态。如果您不像大多数人那样拥有命令行魔力,您可以按照预期使用内置的功能。

      它不会解决您的共享问题,因为它只是一个本地存储库。我发现即使将 Xcode 4 与外部存储库一起使用,您也需要学习一些命令行的东西,否则它将无法正常工作,或者至少足以让您考虑放弃它。

      *编辑 为了清楚起见,Xcode 4 的过程如下: 文件-->源代码管理-->提交 文件-->源代码管理-->推送

      【讨论】:

        猜你喜欢
        • 2015-04-04
        • 2011-08-01
        • 2011-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多