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

Sco*_*ies 43 git msysgit

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

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

Von*_*onC 122

msysgit安装过程中的设置实际上是为了修复core.autocrlf 配置的值.

core.autocrlf
Run Code Online (Sandbox Code Playgroud)

如果为true,则CRLF在文本文件的行末尾进行git转换,以便LF在从文件系统读取时进行转换,并在写入文件系统时进行反向转换.

变量可以设置为' input',在这种情况下,转换仅在从文件系统读取时发生,但文件LF在行末写出.

目前,考虑"文本"(即受到自动机制机制)的哪些路径纯粹基于内容来决定.

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

如果你的工具可以处理Unix风格的行终止,你应该将它们设置为生成Unix行,然后可以通过Windows(VS2008,Notepad ++,...)和Unix读取它们,并且可以由任何'sh'Git处理-scripts.

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


有关详细信息,请参阅" 不同操作系统之间的行结束转换如何工作git core.autocrlf "

                 | Resulting conversion when       | Resulting conversion when 
                 | committing files with various   | checking out FROM repo - 
                 | EOLs INTO repo and              | with mixed files in it and
                 |  core.autocrlf value:           | core.autocrlf value:           
--------------------------------------------------------------------------------
File             | true       | input      | false | true       | input | false
--------------------------------------------------------------------------------
Windows-CRLF     | CRLF -> LF | CRLF -> LF | as-is | as-is      | as-is | as-is
Unix -LF         | as-is      | as-is      | as-is | LF -> CRLF | as-is | as-is
Mac  -CR         | as-is      | as-is      | as-is | as-is      | as-is | as-is
Mixed-CRLF+LF    | as-is      | as-is      | as-is | as-is      | as-is | as-is
Mixed-CRLF+LF+CR | as-is      | as-is      | as-is | as-is      | as-is | as-is

  • 自我注意:`autocrlf`的一个棘手的副作用是真的:http://stackoverflow.com/questions/2016404/git-status-shows-modifications-git-checkout-file-doesnt-remove-them (3认同)
  • @CiroSantilli然后你可以upvote Adi Shavit:http://stackoverflow.com/a/14039909/6309.桌子来自他. (2认同)
  • @EdRandall 最接近的是:http://stackoverflow.com/a/34013278/6309,但它*仍然*需要手动 git 配置来激活污迹。简短的回答是:任何项目本地配置都必须由用户激活。它不是由项目/存储库本身自动设置的。 (2认同)