Windows上的Git 1.6.4 beta(msysgit) – Unix或DOS行终止

我在我的Win Vista开发VPC上安装msysgit 1.6.4testing版。 安装屏幕正在请求我是否要使用Unix行终止或DOS行终止。 通常,我会selectDOS,但设置文本表明DOS终止可能意味着文件不能与所有的Git的命令行工具。 Unix行终止状态“…大多数[Windows]应用程序可以处理这个…”。

有谁知道我应该select通过我的VS 2008工作的shell使用Git的哪个选项?

在msysgit的安装过程中的这个设置实际上是在这里修复core.autocrlf configuration的值。

 core.autocrlf 

如果为true,则在从文件系统读取文件时,将文本文件行中的CRLF转换为LF ,并在写入文件系统时将其转换为反向。

variables可以设置为“ input ”,在这种情况下,转换只在从文件系统读取时发生,而文件在行末写入LF

目前,要考虑“文本”(即受到autocrlf机制)的path是纯粹基于内容决定的。

我会坚持不要试图自动转换任何东西,副作用太重要了(就潜在的合并冲突而言,特别是在不同环境下的分布式开发中)

如果你的工具可以处理Unix风格的行终止,你应该把它们设置成产生Unix行,这些行可以被Windows(VS2008,Notepad ++,…)和Unix一样读取,并且可以被任何'sh'Git -scripts。

但是,如果core.autocrlf设置为false,则转换文本行终止的决定将是一个自愿的明确的决定,而不是背景不可见的副作用。


请参阅“ 如何在不同操作系统之间使用git core.autocrlf进行转换 ”

                  | 在|时导致转换 导致转换时 
                  | 提交各种|的文件 退房从回购 -  
                  |  EOLs INTO回购和| 在它和混合文件
                  |  core.autocrlf值:|  core.autocrlf值:           
 -------------------------------------------------- ------------------------------
文件|  true | input|  false |  true | input| 假
 -------------------------------------------------- ------------------------------
 Windows-CRLF |  CRLF  - > LF |  CRLF  - > LF | 按原样| 按原样| 按原样| 按原样
 Unix -LF | 按原样| 按原样| 按原样|  LF  - > CRLF | 按原样| 按原样
 Mac -CR | 按原样| 按原样| 按原样| 按原样| 按原样| 按原样
混合CRLF + LF | 按原样| 按原样| 按原样| 按原样| 按原样| 按原样
 Mixed-CRLF + LF + CR | 按原样| 按原样| 按原样| 按原样| 按原样| 按原样

Visual Studio 2008处理Unix线路terminal没有问题。 但是,它会尝试检测具有不一致行终止的文本文件,试图解决这些问题。 另一方面记事本不能正确显示Unix文本文件。