Sourcetree 在结帐后立即显示已修改的文件?

Sourcetree showing files as modified right after checkout?

我在 Windows 上检查了 Cygwin 中的 Git 回购协议。比我安装 Sourcetree 并打开相同的(本地)存储库。我很惊讶地看到 Sourcetree 将许多文件标记为已修改。

我在 Notepad++ 中打开了文件(在我在 Sourcetree 中打开 repo 之前),看到行尾是 LF。

当我执行 git config --list 我得到 core.autocrlf=false.

当我从 Sourcetree 中克隆存储库时,一切正常(Cygwin 和 Sourcetree 均未显示任何修改的文件)。

我也检查了文件权限,但是好像是一样的,所以Cygwin好像没有改权限。

这种行为的原因可能是什么? Cygwin 似乎正在做一些 Sourcetree 认为是文件更改的事情?

Cygwin git 版本:2.21.0
Sourcetree git 版本:2.24.1

这解决了问题:

git config core.filemode false
git config core.autocrlf true

(从 Cygwin 命令行执行。)

奇怪的是,带有 --global 开关的相同命令没有帮助,这意味着每次克隆新存储库时都需要执行这两个命令。