如何解决:Xcode 显示提交后文件仍为修改状态

Dav*_*eek 5 git xcode

我使用SourceTree作为 git 客户端。

不久前,我的项目和 git 遇到了重大问题,因此我必须从外部源重新激活工作区的副本。为此,我创建了一个全新的存储库。现在就致力于此。

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

在此输入图像描述

源代码管理显示了我的两个分支,什么是正确的:

在此输入图像描述

历史记录完美地显示了所有的提交:

在此输入图像描述

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

编辑:

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

在此输入图像描述

And*_*ein 5

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


Von*_*onC 2

检查差异的性质是否与 eol(行尾)相关。
请参阅“ git diff - 显示行结尾更改? ”,例如:

 git diff --ws-error-highlight=new,old     
Run Code Online (Sandbox Code Playgroud)

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

 git config --global core.autocrlf false
Run Code Online (Sandbox Code Playgroud)

然后再次尝试克隆您的存储库,并查看 XCode 是否仍然显示这些差异。

就您而言,这与 eol 无关,而是与文件中完成的更新有关。

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

有关涂抹脚本的示例,请参阅关键字扩展。

似乎有东西将 JTAppleCalendar 更新到最新版本(7 天前的 6.0.1)

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

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

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

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