在什么情况下,GitHub 会将文件主体实际上并未改变的文件标记为“已更改”?

在什么情况下,GitHub 会将文件主体实际上并未改变的文件标记为“已更改”?

我的开发人员刚刚做了一些提交,我尝试将他的最后一次提交与之前的一次提交进行比较,结果如下:

在此处输入图片描述

我只是不明白为什么 GitHub 会标记很多文件已更改,其实他们的身体并没有变化。latest-website/.gitignore,,latest-website/README.md等等都是这样的。

有人知道为什么吗?

答案1

git diff如果不亲眼看看究竟是什么的话就很难说清楚。

我遇到过的最常见的两种情况如下。

  1. 由于行尾的变化。它们可能已从CRLF(Windows) 更改为LF(Unix) 或反之亦然。

为了更好地处理此选项,您可以这样做git config core.autocrlf input

  1. 执行git diff显示旧模式和新模式对每个文件具有不同的文件权限。例如,777赋予所有本地文件,而 repo 具有755

正如 Mike 在评论中所说,有时我会看到制表符变为空格,或者 2 个空格变为 4 个空格。为了解决这个问题,我们有一个.editorconfig文件。

相关内容