我尝试使用CRLF结束行提交文件,但失败了.
我花了整整一天的时间在我的Windows计算机上尝试不同的策略,几乎被迫停止尝试使用Git而是尝试使用Mercurial.
每个答案只能分享一个最佳实践.
我有一个从Windows和OS X访问的Git存储库,我知道已经包含一些带有CRLF行结尾的文件.据我所知,有两种方法可以解决这个问题:
设置core.autocrlf到false无处不在,
按照指示在这里(回荡在GitHub上的帮助页)到存储库转换为只包含LF行结束,然后设置core.autocrlf要true在Windows和input在OS X上有这样做的问题是,如果我有仓库中任何二进制文件那:
他们会被腐化.我的存储库可能包含这些文件.
那么为什么我不应该关闭Git的行结束转换呢?网上有很多模糊的警告关于core.autocrlf关闭造成问题,但很少有具体问题; 到目前为止我唯一发现的是kdiff3无法处理CRLF结尾(对我来说不是问题),而且一些文本编辑器有行结束问题(对我来说也不是问题).
存储库是我公司的内部存储库,因此我不需要担心与具有不同autocrlf设置或行结束要求的人共享它.
是否有任何其他问题只是留下我不知道的行结尾?
我的编辑器正在更改源文件的行结尾.当我这样做的时候git diff,我会看到两次相同的线 - 一次一次,-一次一次+- 没有明显的区别.
我该如何git diff告诉我实际上这个变化是什么?
我刚刚使用git克隆了一个项目并打开了一个新的分支.在更改了只有1个文件之后,我尝试提交更改,但它向我显示我提交了3000多个文件.点击任何文件以查看差异后,phpstorm说"没有差异".
我听说这可能是与行结尾有关的错误,但我现在不知道该怎么做.请你帮助我好吗?现在无法验证3000个文件,我不想通过推送疯狂的东西来破坏项目.
我尝试将phpstorm中的行结尾更改为LF(unix)和CRLF(windows),但它根本没有帮助.我听说可能有必要在git中更改它,所以我尝试运行一些随机推荐的命令,但根本没有结果.
编辑:增加了100个声望赏金.我无法解决这个问题
解决方案:好的,看起来这是特权问题.我在所有目录上都给了chmod 777,这太过分了.