【问题标题】:XCode 4.2 and Local git repositoryXCode 4.2 和本地 git 存储库
【发布时间】:2012-02-18 02:57:28
【问题描述】:

我有一个项目,我一直在定期添加文件,最近注意到只有一些文件由本地 git 存储库管理。换句话说,当我修改某些文件时,没有任何源代码控制状态指示(如“M”)。

表现出这种行为的文件是通过在 XCode 之外的项目中复制现有文件而创建的。例如,我会出去查找并复制项目中已有的文件,重命名它,然后返回 XCode 并将文件添加到项目中。

当我在 XCode 中右键单击这些文件并选择源代码控制时,每个菜单项都显示为灰色。我什至无法将它们添加到源代码管理中。

我感觉复制项目中已有的文件会导致问题,但我不知道如何解决。我读到我可以通过发出 bash 命令递归地从项目中删除源代码控制,但我真的不想丢失我已经拥有的源代码控制历史记录。

提前感谢您的帮助。

【问题讨论】:

  • 我无法重现这一点 - 当我在 Finder 的项目中复制文件时,使用 XCode 添加它,一个灰色的“?”出现在 XCode 项目视图中“M”的位置(源代码管理符号)。手动(通过终端)将受影响的文件添加到您的 git repo 是否有效?
  • 不确定如何执行此操作,但我会查找必要的命令并报告。
  • 我使用终端将文件添加到 git。谢谢。我可以将您的评论标记为答案吗?

标签: git xcode4.2


【解决方案1】:

当我在 XCode 中右键单击这些文件并选择源代码控制时,每个菜单项都显示为灰色。我什至无法将它们添加到源代码管理中。

我真的不想丢失我已经拥有的源代码控制历史记录。

我无法在 XCode 4.2 中重现这一点。手动将文件添加到 git 存储库应该可以 - 但我无法对此进行测试。

手动将文件添加到 git 存储库的步骤:

  • 打开终端
  • 导航到 XCode 项目所在的文件夹。
  • 运行git status,它会告诉您当前哪些文件未被跟踪。
  • 要将所有未跟踪的文件添加到 git,请使用 git add -A - 这将添加所有未跟踪的文件,并删除已从 git 存储库中删除的所有文件。
  • 如果您希望选择要添加的文件:git add <filename>
  • 提交到 git:git commit

完成此操作后,XCode 应该会识别出文件正在被跟踪,并允许您通过 XCode 源管理命令提交更改。

【讨论】:

  • 小心 - 这也会将 UserInterfaceState.xcuserstate 文件添加到存储库中,结果非常令人不快。您应该首先找到该文件,然后将其路径写入名为 .gitignore 的文件中 - 在运行 add 命令之前。
猜你喜欢
  • 2013-10-09
  • 2014-06-05
  • 2013-03-12
  • 1970-01-01
  • 2023-03-20
  • 2013-08-01
  • 1970-01-01
  • 2015-07-14
  • 2013-11-19
相关资源
最近更新 更多