我正在为我的Windows Vista开发VPC安装msysgit 1.6.4 beta。一个安装屏幕正在询问我是否要使用Unix的行终止符还是DOS的行终止符。通常我会选择DOS,但是设置文本指出DOS终止符可能意味着文件无法与Git的所有命令行工具一起使用。 Unix的行终止符则表示“...大多数[Windows]应用程序都可以处理...”。
有人知道我应该选择哪个选项以通过shell使用Git进行VS 2008工作吗?
我正在为我的Windows Vista开发VPC安装msysgit 1.6.4 beta。一个安装屏幕正在询问我是否要使用Unix的行终止符还是DOS的行终止符。通常我会选择DOS,但是设置文本指出DOS终止符可能意味着文件无法与Git的所有命令行工具一起使用。 Unix的行终止符则表示“...大多数[Windows]应用程序都可以处理...”。
有人知道我应该选择哪个选项以通过shell使用Git进行VS 2008工作吗?
在msysgit安装过程中的设置实际上是为了修复core.autocrlf
config的值。
core.autocrlf
请查看 "如何在不同操作系统之间使用git core.autocrlf
进行行结束转换" 了解更多信息
| 提交文件时的转换结果 | 从仓库检出时的转换结果 - | 包含不同EOLs的文件 | 包含混合文件和 | 和core.autocrlf值: | core.autocrlf值: -------------------------------------------------------------------------------- 文件类型 | true | input | false | true | input | false -------------------------------------------------------------------------------- Windows-CRLF | CRLF -> LF | CRLF -> LF | 不变 | 不变 | 不变 | 不变 Unix -LF | 不变 | 不变 | 不变 | LF -> CRLF | 不变 | 不变 Mac -CR | 不变 | 不变 | 不变 | 不变 | 不变 | 不变 Mixed-CRLF+LF | 不变 | 不变 | 不变 | 不变 | 不变 | 不变 Mixed-CRLF+LF+CR | 不变 | 不变 | 不变 | 不变 | 不变 | 不变
Visual Studio 2008可以很好地处理Unix换行符,但它会尝试检测具有不一致换行符的文本文件并尝试修复这些问题。另一方面,记事本无法正确显示Unix文本文件。
^M
。 - phuclvvim
中,你通常只会看到 ^M
,当文件具有混合行尾时,这样你就可以看到哪些行有 CRLFs,哪些没有。如果每一行都有相同的行尾,在 Unix 或 DOS 模式下都可以正常工作。 - Soren Bjornstad
autocrlf
为 true 的一个棘手的副作用是:https://dev59.com/hnI-5IYBdhLWcg3wF0Uc。 - VonC