9

我有一个大的(数百个文件),非常混乱(在文件系统上)Xcode 项目。我想将一堆文件移动到不同的文件夹中。我希望 git 跟踪移动操作,并且我希望我的 Xcode 项目也跟踪移动(保持引用完整就足够了;我不需要 Xcode 重新排列其内部组结构等)

如果我在 Finder 中拖动东西,Xcode 和 git 都处于黑暗中。我相信 git 会在时机成熟时通过内容来解决问题,但我也注意到在 Finder 中git status执行 a 和移动文件之间的输出存在差异,然后分别添加删除和添加操作,所以我git mv'我假设存在一些差异(即使这种差异最终没有被编码到提交的内容中。)另一方面,Xcode 面对这种情况是没有希望的。(您必须手动重新查找每个文件。)

如果我git mv从命令行使用,git 会跟踪移动,但我仍然必须手动重新连接 Xcode 中的每个引用(或者将它们全部撕掉并重新导入所有内容,这很麻烦,因为其中许多文件都有自定义构建标志与他们有关。)

似乎根本没有办法让文件系统从 Xcode 中移动。

我已经找到zerg-xcode了一个插件,声称可以同步文件系统以镜像 Xcode 组结构,但我无法通过谷歌搜索任何相反的东西。我只想要一种在文件系统上移动文件的方法,并拥有另外两个东西(git 和 Xcode)来跟踪移动中的文件。这要求太多了吗?到目前为止,答案似乎是“是”。

是的,我已经看到将文件移动到 Xcode 中的真实文件夹中,我在问是否有人编写了脚本或其他使这不那么痛苦的东西。

4

1 回答 1

0

实际上,按照设计,Git 不跟踪移动。Git 只关注内容。如果有任何 Git 工具告诉您有一个举动(例如git log --follow,这是从内容中猜测出来的,而不是从元数据中猜测出来的)。

git add因此,如果您使用另一个工具移动文件然后是整个文件夹,则不会丢失信息。

于 2015-06-23T01:03:35.653 回答