windows+;linux双引导
我将用解决问题的方法来回答我的问题 选民注意事项:我知道根本原因在其他各种线程中讨论过(这就是我解决问题的方式)。这篇文章更多的是关于双引导系统如何导致您遇到这个问题。所以不,这个问题/答案不是重复的,而是一个一般问题类别的特定实例,在So的存储库中添加了更多关于这个问题的案例windows+;linux双引导,linux,windows,git,core.autocrlf,Linux,Windows,Git,Core.autocrlf,我将用解决问题的方法来回答我的问题 选民注意事项:我知道根本原因在其他各种线程中讨论过(这就是我解决问题的方式)。这篇文章更多的是关于双引导系统如何导致您遇到这个问题。所以不,这个问题/答案不是重复的,而是一个一般问题类别的特定实例,在So的存储库中添加了更多关于这个问题的案例 在家里:我用Linux编写代码左前用作行尾 在办公室:我在windows中编码CRLF用作行尾。 默认情况下,git的autocrlffeature()让事情变得愉快 但是,如果您使用Linux和Windows运行双启
在家里:我用Linux编写代码<代码>左前用作行尾
在办公室:我在windows中编码
CRLF
用作行尾。
默认情况下,git的
autocrlf
feature()让事情变得愉快
但是,如果您使用Linux和Windows运行双启动系统,您可能会以以下方式陷入困境:
git pull
您在windows环境中的linux环境中处理的一些文件,位于可以从双引导linux环境访问的位置。这将修改文件以包含CRLF
结尾LF
,git diff
会说整个文件都被修改了,因为每个LF
在每一行都被更改为CRLF
。(Atom向我发出了警告,它内置了此差异计数)修复程序
表示最后一次正确提交,您的/files/location
表示您希望解决CRLF
问题的文件的位置。这将基本上从本地.git
存储库恢复旧版本
为我工作
如果你知道我遗漏了什么,或者解释不正确,一定要告诉我 你说的是文本=汽车零件?我不确定是否需要将其包含在新的
.gittributes
文件中,因为当我这样做时,ATOM仍然将文件显示为已修改的文件
是的,的确如此。要强制Git应用
.gittributes
指令,请参阅“”
我首先要确保core.autocrlf
设置为false
git config --global core.autocrlf false
然后:
您还可以使用,强制索引重新规范化:
git rm --cached -r .
git reset --hard
见“
你在回避这个问题。要真正修复它,请使用“.gittributes”file@Philippe你说的是
text=auto
part?我不确定是否需要在一个新的.gittributes
文件中包含这些内容,因为当我这样做时,ATOM仍然将文件显示为已修改的……这些问题已经讨论过了,并且在许多其他线程中也有讨论过。如果您想重新签出文件,这是一种干净的解决方法。@eis的可能副本(请看我的编辑:)我仍然认为这是一个副本,已经回答过了,例如。@eis很酷。只要它能帮助别人,做一个复制品并不重要。谢谢你的详细步骤!通过强制所有行尾为LF
,它会在windows中导致任何问题吗?@Somjit这取决于文件类型和IDE。您可以将*text=auto-eol=lf
限制为*.xxx
(特定扩展名)是的,我想大多数代码编辑器都可以。感谢您指出自定义扩展模块。
git rm --cached -r .
git reset --hard
* text=auto eol=lf