Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
windows+;linux双引导_Linux_Windows_Git_Core.autocrlf - Fatal编程技术网

windows+;linux双引导

windows+;linux双引导,linux,windows,git,core.autocrlf,Linux,Windows,Git,Core.autocrlf,我将用解决问题的方法来回答我的问题 选民注意事项:我知道根本原因在其他各种线程中讨论过(这就是我解决问题的方式)。这篇文章更多的是关于双引导系统如何导致您遇到这个问题。所以不,这个问题/答案不是重复的,而是一个一般问题类别的特定实例,在So的存储库中添加了更多关于这个问题的案例 在家里:我用Linux编写代码左前用作行尾 在办公室:我在windows中编码CRLF用作行尾。 默认情况下,git的autocrlffeature()让事情变得愉快 但是,如果您使用Linux和Windows运行双启

我将用解决问题的方法来回答我的问题

选民注意事项:我知道根本原因在其他各种线程中讨论过(这就是我解决问题的方式)。这篇文章更多的是关于双引导系统如何导致您遇到这个问题。所以不,这个问题/答案不是重复的,而是一个一般问题类别的特定实例,在So的存储库中添加了更多关于这个问题的案例


在家里:我用Linux编写代码<代码>左前用作行尾
在办公室:我在windows中编码
CRLF
用作行尾。
默认情况下,git的
autocrlf
feature()让事情变得愉快

但是,如果您使用Linux和Windows运行双启动系统,您可能会以以下方式陷入困境:

  • git pull
    您在windows环境中的linux环境中处理的一些文件,位于可以从双引导linux环境访问的位置。这将修改文件以包含
    CRLF
    结尾
  • 然后,当您在linux中打开文件时,默认值仅为
    LF
    git diff
    会说整个文件都被修改了,因为每个
    LF
    在每一行都被更改为
    CRLF
    。(Atom向我发出了警告,它内置了此差异计数)

  • 修复程序

  • 删除/移动到问题文件/文件夹的其他位置
  • 执行git签出
  • 其中,
    表示最后一次正确提交,
    您的/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