【问题标题】:How can I move files & folders using git in Xcode 4?如何在 Xcode 4 中使用 git 移动文件和文件夹?
【发布时间】:2012-02-29 21:59:27
【问题描述】:

我熟悉 Xcode 中组和实际目录之间的区别。我总是在 finder 中创建一个实际文件夹并将其拖到项目中,确保未选中“复制”。

当我移动文件夹时,我只通过引用删除项目,在查找器中移动它们,然后重新添加它们。

现在我是第一次使用 git,在测试中发现如果我使用上述方法删除目录,我无法进行提交。 Xcode 告诉我它不能切换到目录,因为“没有这样的文件或目录”。从我在网上找到的内容来看,在 Xcode 中完成时不会通知 git 目录更改。

如何在 Xcode 4 中使用 git 移动文件和文件夹,并让编译器和 git 知道这些移动,以便我可以提交?

【问题讨论】:

  • 你熟悉使用 git 命令行客户端吗?
  • 不,不是。我确实有《Pro Git》这本书,但我担心如果我从终端的 git 存储库中删除文件,它会搞砸 Xcode 中的文件(这意味着 xcode 跟踪它自己的文件的方式)。
  • 我只是建议在您的存储库上运行 git add --all 然后恢复您的 Xcode 管理。
  • 如果我想删除现有文件夹,然后在另一个位置重新添加该文件夹怎么办? (实际上,移动文件夹)当文件夹丢失时会发生什么?如果您可以在回答帖子中描述执行此操作的步骤,我将对其进行测试。

标签: iphone ios xcode git xcode4


【解决方案1】:

您不得使用 Finder 移动 GIT 存储库中的文件。你最好使用 shell 中的 move 命令。

然后您必须在 XCode 中手动刷新链接(或再次删除/添加文件)。

移动文件类似于 unix 'mv' 命令,带有 'git 前缀:

git mv path destination

(使用 -f 覆盖目标...谨慎)

【讨论】:

  • "您不得使用 Finder 移动 GIT 存储库中的文件。"为什么?您可以编辑您的答案并显示删除的“正确”步骤(并尽可能移动)吗?我不是命令行迷,所以如果您可以将它们与您的步骤一起添加,这对我和其他 S.O. 将非常有帮助。用户。
  • 看看jonas.nitro.dk/git/quick-reference.html 你也可以使用 GIT 的图形 UI。我没有,所以我不能为此提供任何建议。
  • 所以我必须为每个移动的文件或文件夹执行此操作?
  • 我想是的。除非你可以在 XCode 中自动化。如果您觉得舒服,您可能想直接编辑项目 XML 文件,但除非您是专家,否则我不建议这样做 :)
【解决方案2】:

在 Finder 中进行所有更改后,打开终端窗口并导航到项目目录:

cd path/to/project

然后运行这个命令:

git add --all

此命令将暂存所有更改,Xcode 应该能够从这里恢复对存储库的管理。

【讨论】:

  • 我测试了它并且它有效。一个关于它的问题。我在 xcode 中删除的文件,然后在 finder 中移动。 Git是否认为旧位置的文件仍然存在,还是只是“弄清楚”它已被移动?如果是这样,这是否适用于名称相同但位置不同的资源(例如本地化文件夹)?
  • @Javy Git 在这些场景中非常聪明;即使文件已被修改,它通常也可以确定文件已被移动和重命名。这就是为什么它比颠覆更好;)
  • 我想相信 git 的力量。可悲的是,我不能。在一个大项目被彻底搞砸并重新创建整个项目之后,我再次尝试了一个较小的项目。现在当我修改一个文件夹时,我尝试 rm 它并且它失败了,说它不存在,但 XCode 说它存在。所以我使用你的建议来添加所有内容,它真的想添加所有内容,包括 gitignore 中的文件。我无法理解为什么没有针对 XCode 用户的有效 git 教程。我想我会放弃 git,直到找到一个好的教程。 ://
  • @Javy 我的建议:不要使用 Xcode,使用终端即可;这要容易得多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-23
  • 2023-03-18
  • 2016-09-15
  • 1970-01-01
  • 2022-01-15
相关资源
最近更新 更多