Chr*_*ris 64 git newline gitattributes core.autocrlf
正如人们可以从 其他 帖子中收集的那样,Git的终端规范化有其优点和缺点.我有一个特定的Windows项目,我认为最好的办法是完全禁用行尾规范化.也就是说,我希望保留所有换行符(大部分都是CRLF
完整的),而不是让git将它们规范化为 - LF
仅在幕后,我希望该更改能够影响所有计算机上存储库的所有克隆.问题是最有效的方法.
大多数关于Git行尾规范化的讨论都是根据core.autocrlf
,我可以通过设置来实现我的目标core.autocrlf=false
.但是,这是一个git-config设置,我相信必须在每台机器上分别设置它.如果为true,那似乎容易出错,特别是因为msysgit
安装程序会将其引导到设置中core.autocrlf=true
.
Chr*_*ris 109
避免必须core.autocrlf
在每台机器上单独设置的最佳方法似乎是将.gitattributes
文件检入包含单行的存储库
* -text
Run Code Online (Sandbox Code Playgroud)
或者,如果你有一个旧版本的Git那么
* -crlf
Run Code Online (Sandbox Code Playgroud)
这告诉Git,对于所有路径(因此*
),不应尝试行尾标准化.据我所知,这不应该有任何其他副作用.特别是,它不应该改变如何生成差异(这具有单独的属性diff
/ -diff
)或如何处理合并(这具有单独的属性merge
/ -merge
).
有关详细信息,我建议使用以下资源:
git help attributes
或在线副本),详细描述了行尾规范化的工作原理以及不同属性的特定效果.(可能是最相关的是text
,crlf
,diff
,merge
,和binary
).-text
并不仅仅意味着"这是一个二进制文件". 归档时间: |
|
查看次数: |
18493 次 |
最近记录: |