我在 VM 上运行 Ubuntu,在 Vista 上运行 MsysGit。我使用 Github 作为 git 主机并从 Msysgit 跟踪相同的存储库。
当我从 Mysysgit 中提取所有更改并执行“git status”时,它会列出未提交的更改。但是当从 Ubunutu 运行“git status”时,一切都是干净的。没有未提交的更改。
为什么在 Msysgit 中会发生这种情况。两个版本都是1.6
此问题的根源很可能与 msysgit 处理行尾的方式发生冲突。当您在 Vista 机器上签出提交时,您的 Unix 风格的结尾LF
将被转换为 Windows 风格的结尾CRLF
。这被 Git 检测为未提交的更改。
我同意这很烦人。确保在安装 msysgit 时选择此选项。
或者,您可以更改 Git 配置以更新现有安装。将值设置为core.autocrlf=false
当我让 MSysGit 处理行尾时,我遇到了类似的问题。目前我总是安装 MsysGit 并选择不转换行尾并按原样提交它们。