在 git 文件重命名后使 Xcode 5 跟随历史

Posted

技术标签:

【中文标题】在 git 文件重命名后使 Xcode 5 跟随历史【英文标题】:Make Xcode 5 follow history after git file rename 【发布时间】:2014-06-04 23:32:38 【问题描述】:

我正在尝试弄清楚如何在使用 Xcode 时使用 git 正确重命名文件。

我做了一个测试项目,有几个提交,然后在 Xcode 中重命名了一个文件,验证了 git status 确实说它正在被重命名,然后在 Xcode 之外提交。这与 SO question (Handling file renames in git) 的答案一致。

我回到 Xcode,尝试查看名称更改之前该文件的历史记录(在版本编辑器助手窗口中),我收到错误“索引中不存在此文件。”虽然这是真的,但该文件当时并不存在,但其前身却存在。当我转到终端并运行git log --follow myFile.m 时,我确实看到了所有提交,甚至是重命名之前的提交。这样,历史就在那里,但 Xcode 似乎不知道如何找到它。

在使用 Xcode 时,如何在 git 版本控制中重命名文件之前遵循?

附言。改名前好像责备功能可以看到,但是版本编辑器看不到。

【问题讨论】:

我认为你做不到。 Xcode 的 git GUI 功能非常粗糙。我几乎从不使用它们。您可以将此作为功能请求提交(使用 Apple 的错误报告器)。但我个人更喜欢命令行,或者 SourceTree。 另外,请注意,混淆 git 本身并不难,即使git log --follow 在重命名后也不起作用。这是一个弱点。 【参考方案1】:

我今天遇到了同样的错误,正如matt 所建议的那样 最好的解决方案是使用备用 Git GUI。

我终于通过安装 rowanj 的 GitX 应用程序解决了这个问题。

然后我看到未提交的更改并简单地提交它。

TY Xcode 过于 git-simple 和重命名-痛苦!

【讨论】:

以上是关于在 git 文件重命名后使 Xcode 5 跟随历史的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 5 中重命名项目?

如何在 Xcode 5 中重命名模拟器?

在 Xcode 中重命名或重构文件

git:重命名文件并更改文件内容

git 本地重命名文件夹大小写并提交到远程分支

Xcode:编辑>重构>重命名说“操作无法完成。文件存在。”