5

在拉取(进入一个干净的生产类型存储库)时,所有变更集都会遇到并导致文件看起来已修改并需要提交。git log 没有显示应该导致这些更改的提交......这些更改只是在没有日志注释的情况下提取,因此它认为它不同步。

拉取的结果显示每个文件的“需要更新”消息。

4

2 回答 2

5

如这个Git 项目所示,当 Git 尝试为在 Unix 上开发并在 Windows 上克隆的项目调整 eol 样式时,可能会发生这种情况:

通过 msysgit 故障排除

在 git bash 中运行命令:git config --global core.autocrlf false如果未完成,则 git svn rebase 报告“需要更新”,认为已对源进行了更改 可能会遇到提交问题

有关更多信息,请参阅此SO 答案

于 2011-06-07T10:27:14.353 回答
5

我是如何摆脱困境的:

当我一直在测试我的解决方案时,我不得不利用......

git reset --hard这会将您移回日志中的最新提交。

git clean -fd自日志中最近一次提交以来,它会杀死未跟踪的文件。

最终我决定我需要将有问题的设置文件更改为chmod 777提交权限更改。另一种选择是将 Git 更改为权限不可知模式,git config core.filemode false在此处阅读更多内容:如何使 Git 忽略文件模式 (chmod) 更改?

然后我做了一个合并更改并将日志与文件一起更新,将有问题的文件的权限更改回 644 并提交......并将其推回工作主机(很高兴这是允许的。)

似乎这是一个错误,权限失败允许合并文件变更集,但日志历史记录不反映提交!!!

顺便说一句:我git --versiongit version 1.5.6.5

于 2011-06-08T01:52:48.423 回答