【问题标题】:GIT: How to get rid of the annoying CRLF message on msysgit (windows)?GIT:如何摆脱 msysgit (windows) 上烦人的 CRLF 消息?
【发布时间】:2011-04-19 23:03:42
【问题描述】:

几乎每次我暂存一个文本文件(大部分是 em)时,我都会从 git gui(我使用 msysgit)收到消息,它用 CRLF 替换(或即将)行尾。显然我想要那个(并且有一个设置呼啦),但我不希望烦人的消息一直弹出!

有什么方法可以保留设置,但关闭/禁用弹出消息?

我不知道这如何在命令行上与 GIT 一起使用,但我喜欢 msysgit 的暂存过程 :) 所以我宁愿不改成 bash。

【问题讨论】:

    标签: git newline git-gui core.autocrlf


    【解决方案1】:

    很简单,在你的文本编辑器中使用 CRLF 作为行尾,git 不会警告你。 (如果拉取的文件没有 CRLF 行结尾,则可能执行一次)。

    【讨论】:

      【解决方案2】:

      也许可以确定:core.autocrlf=false

      我不是很了解msysgit,但经过一番搜索,我找到了几个相关的msysgit/threads
      另请参阅相关 SO Q:What's the best CRLF handling strategy with git?

      【讨论】:

        【解决方案3】:

        由于您使用的是 msysgit,我假设 core.autocrlf 设置为 tru(msysgit 安装中的默认设置)

        您可以尝试将core.safecrlf 设置为false,看看是否对此类消息有任何影响。

        git config core.safecrlf false
        

        您也可以尝试使用.gitattributes 文件的版本并设置:

        *        eol=crlf
        

        查看该显式文本属性是否与此警告消息有任何关系的指令。

        【讨论】:

          【解决方案4】:

          您可以做的一件事是在 repo-config.xml 中设置适当的设置。选项core.autocrlf 会做这些事情:

          1. 所有文本文件都将以LF 行结尾存储。
          2. 从磁盘读取时,CRLF 转换为 LF
          3. 写入磁盘时,LF 转换为 CRLF

          你可以在 git-shell 中设置这个选项

          $ cd path/to/repo
          $ git config core.autocrlf true
          

          然后,从 repo 中删除除 .git 文件夹本身之外的任何文件并运行

          $ git reset --hard
          $ git commit -am "Line endings fixed."
          

          修复行尾。

          PS:有一个小概率,二进制文件被意外威胁为文本文件并可能被损坏,那么你必须阅读手册或在这里询问。

          【讨论】:

          • 顺便说一句,也许你将core.autocrlf 设置为一些奇怪的值,也许发布你的配置。
          【解决方案5】:

          命令行只是打印一条消息,就是这样。

          我不认为可以禁用消息框,很遗憾...

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-03-12
            • 1970-01-01
            • 2016-06-10
            • 1970-01-01
            • 2011-02-09
            • 1970-01-01
            • 2011-07-21
            • 1970-01-01
            相关资源
            最近更新 更多