我正在使用eclipse egit和github。我发现一些奇怪的东西,我没有改变任何东西,但是egit将文件标记为“已更改”。见图:
文件“run.bat”被标记为“已更改”
与“Git index中的文件”比较,您可以看到没有什么不同
与“HEAD中的文件”比较,您可以看到没有任何不同
我的朋友使用mac我使用windows,但我们都将git配置为“commit unix lineend”..我还检查了我的源和HEAD的lineend,它们是相同的(我配置git将它们转换为“ \ r \ n“拉的时候”
哪里错了?这是Egit的错误吗?
答案 0 :(得分:53)
Eclipse首选项/团队/ Git /配置/用户设置
(“核心”部分)
key: autocrlf
value: false
密钥应该已经存在,所以只需要编辑值。
如果要创建新密钥,请使用core.autocrlf
。
答案 1 :(得分:42)
我在Git中遇到的首要问题之一。
我永远这样说过:
git config --system core.autocrlf false
要摆脱差异和补丁视图中的CR突出显示,请使用:
git config --system core.whitespace cr-at-eol
如果您与他人共享计算机,请将“--system”替换为“--global”。
答案 2 :(得分:15)
作为一个后续工作,我刚刚遇到同样的问题,EGit检测所有文件的另一个原因是至少在与Cygwin的git一起使用时,POSIX文件权限问题。
以下将解决这个问题;但请记住,这也意味着它们会被忽略:
$ git config core.filemode false
答案 3 :(得分:8)
对于换行的eclipse特定问题,您还可以在Eclipse Preferences中更改返回字符,您可以在其中将New text file line delimiter从Windows语法更改为Unix,这应该有所帮助。
答案 4 :(得分:4)
您可以在Compare / Patch下忽略与Eclipse设置的空白差异。 首选项 - >常规 - >比较/补丁,您可以在右侧找到“忽略空格”,然后选择此选项。
答案 5 :(得分:1)
我在Eclipse git commit中也遇到了同样的问题,显示了这个问题
一次修改后的文件,即使它在未分段的更改部分中显示了文件,最终还是从文件中删除了更改。
解决方案:
Eclipse->窗口->首选项->团队-> Git->配置->用户设置(右侧标签)
点击添加条目
Key : core.autocrlf
Value: true
单击确定,然后单击应用->确定 刷新“ Git Staging”选项卡,或选中“团队->提交”选项。现在它将仅显示确切的更改。
答案 6 :(得分:0)
"replicate an ASP.Net website in classic ASP"
功能,安装最新版本的egit和git。存储库的行尾和本地文件都匹配。
问题是由.gitattributes中的条目引起的:
autocrlf
因此,我可以:
但是也起作用的是进入命令行并键入
git reset --hard
然后刷新日食。
答案 7 :(得分:-3)
一般 - >工作区。选择文本编码UTF-8