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