如何解决:Xcode显示提交后仍然修改的文件

时间:2016-11-03 22:20:36

标签: xcode git

我使用SourceTree作为git客户端。

前一段时间,我的项目和我的git出现了一个主要问题,所以我不得不从外部源重新激活我的工作区副本。为此,我创建了一个完整的新存储库。现在就承诺。

今天我注意到,我的大部分文件都显示为"已修改"在Xcode中。即使在提交和推送(使用SourceTree)之后。

enter image description here

Source Control显示我的两个分支,正确的是:

enter image description here

历史记录显示所有提交:

enter image description here

我的感觉告诉我,在后台,旧的存储库信息仍然存在并且会出现此错误。我该如何处理?非常感谢帮助。

编辑:

git diff --ws-error-highlight=new,old输出

enter image description here

3 个答案:

答案 0 :(得分:2)

检查差异的性质是否与eol(行尾)有关 请参阅" git diff - show me line ending changes?",如:

 git diff --ws-error-highlight=new,old     

如果是这种情况,请先尝试:

 git config --global core.autocrlf false

然后再次尝试克隆你的repo,看看XCode是否仍然显示这些差异。

在您的情况下,这不是关于eol,而是关于文件中的更新。

检查任何.gitattributes文件:这些文件中是否有污迹指令(这可以解释结帐时发生的自动过程)

有关涂抹脚本的示例,请参阅Keyword expansion

某些内容似乎更新JTAppleCalendar to its latest relase (6.0.1 from 7 days ago)

  

我的感觉告诉我,在后台,旧的存储库信息仍然存在并且会出现此错误。

只需在命令行中尝试再次克隆该repo(在一个全新的本地路径中),并检查该克隆存储库中是否存在该问题。

  

JTAppleCalendar,我已手动从6.0.0更改为6.0.1。大约7天前。当新的xcode 8.0.1到达时

在这种情况下,所有这些文件应列为已修改:这就是Git所做的。

答案 1 :(得分:1)

关闭Xcode。如果可以避免,请不要重新打开Xcode :-)如果绝对必要,请重新打开Xcode。 M个标记应该消失了。

答案 2 :(得分:0)

这对我有用:

  1. 删除派生数据文件夹(步骤:单击左上角的Xcode -> Preferences -> Locations -> 单击Derived Data 下方的右箭头,您将进入Finder 中的Derived Data 文件夹。将其删除)
  2. 退出 Xcode(不要只是关闭项目)
  3. 重新打开 Xcode