为什么我在 git bash (msysgit) 和 cygwin git 中得到不同的结果?

Why do I get different results in git bash (msysgit) and git in cygwin?

我一直使用 git bash 但现在我不得不换成 cygwin 因为我需要 wget 和其他东西,所以我想我也可以使用内置的 git因为它较新。

gitbash是1.9.4预览版,cygwin里的是2.1.4版。我有一个使用 git bash 使用的克隆存储库。我承诺并推动了一切,我在开发分支上。当我使用 "git status" 我得到这个:

On branch develop
Your branch is up-to-date with 'origin/develop'.

nothing to commit, working directory clean 

在 cygwin 中我得到了这部分

On branch develop
Your branch is up-to-date with 'origin/develop'.

但随后我得到了一个包含数百个未准备提交的文件的列表。为什么我得到不同的结果?我在同一个仓库的同一个目录下,结果应该是一样的。

这很可能是由于两个 Git 配置之间的差异。 Git 使用许多配置设置来告诉它如何表现,例如 处理 DOS 和 Unix 风格的行尾之间的差异。其中包括:

  • core.autocrlf
  • core.ignorecase
  • core.eol

有关这些和其他配置选项的详细信息,请参阅 git config --help

您应该 运行 在两个系统上执行以下命令并比较配置设置:

  • git config --system --list
  • git config --global --list

请注意,全局设置优先于系统设置。 system 设置是为系统上的每个用户设置的(Cygwin 中的 /etc/gitconfig),而 global 设置仅适用于您的用户帐户(~/.gitconfig 在 Cygwin 上)并应用于您的所有存储库。

另外:也可以运行git config --local --list看配置 存储库本地的设置——但这些设置在 Cygwin 和 MSys Git.