Git pull导致“需要更新”,文件显示为已修改

时间:2011-06-07 09:07:09

标签: git git-pull

拉(进入干净的生产型回购)后,所有变更集都会出现,导致文件出现修改并需要提交。 git日志没有显示应该导致这些更改的提交 ...更改只是在没有日志备注的情况下拉动,因此它认为它不同步。

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

2 个答案:

答案 0 :(得分:5)

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

  

通过msysgit进行故障排除

     

在git bash中运行命令:git config --global core.autocrlf false如果没有这样做,那么git svn rebase报告“需要更新”,认为已经对源进行了更改可能会在提交时遇到麻烦

请参阅此SO answer for more

答案 1 :(得分:4)

我是如何摆脱困境的:

当我不停地测试我的解决方案时,我不得不使用......

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

git clean -fd从日志中的最新提交中删除未跟踪的文件。

最终我决定将违规设置文件更改为chmod 777提交权限更改。另一个选择是使用git config core.filemode false将Git更改为权限不可知模式。在此处阅读更多内容:How do I make Git ignore file mode (chmod) changes?

然后我做了一个拉动来合并更改并将日志更新与文件一起更新,将违规文件的权限更改回644并提交...并将其推回到工作主人(很高兴允许。)

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

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