是否有文件或菜单可以让我更改如何处理行结尾的设置?
有3种选择:
结帐Windows风格,提交Unix风格
签出文本文件时,Git会将LF转换为CRLF.提交文本文件时,CRLF将转换为LF.对于跨平台项目,这是Windows上的推荐设置("core.autocrlf"设置为"true")
Checkout as-is,提交Unix风格
签出文本文件时,Git不会执行任何转换.提交文本文件时,CRLF将转换为LF.对于跨平台项目,这是Unix上的推荐设置("core.autocrlf"设置为"input").
按原样结帐,按原样提交
签出或提交文本文件时,Git不会执行任何转换.不建议跨平台项目选择此选项("core.autocrlf"设置为"false")
Cod*_*ike 468
控制它的正常方法是 git config
例如
git config --global core.autocrlf true
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请在此链接中向下滚动到Pro Git,名为"core.autocrlf"
如果您想知道保存了哪个文件,可以运行以下命令:
git config --global --edit
Run Code Online (Sandbox Code Playgroud)
并且git全局配置文件应该在文本编辑器中打开,您可以看到该文件的加载位置.
Jas*_*nan 150
OS中使用的行结束格式
CR
回车\r
)和LF
(LineFeed \n
)对LF
LineFeed \n
)我们可以通过两种方式配置git以自动纠正每个操作系统的行结束格式.
.gitattributes
文件git config --global core.autocrlf input
Run Code Online (Sandbox Code Playgroud)
这将解决任何CRLF
对LF
当你提交.
git config --global core.autocrlf true
Run Code Online (Sandbox Code Playgroud)
这将确保您在Windows中结帐时,所有LF
将转换为CRLF
保留.gitattributes
文件是个好主意,因为我们不希望团队中的每个人都设置他们的配置.这个文件应保存在repo的根路径中,如果存在,则git会尊重它.
* text=auto
Run Code Online (Sandbox Code Playgroud)
这会将所有文件视为文本文件,并转换为以结帐时结束的操作系统行,并LF
自动返回到提交.如果想明确告诉,那就用吧
* text eol=crlf
* text eol=lf
Run Code Online (Sandbox Code Playgroud)
第一个用于结账,第二个用于提交.
*.jpg binary
Run Code Online (Sandbox Code Playgroud)
将所有.jpg
图像视为二进制文件.所以不需要转换
Faz*_*azi 31
对于可以重新分发给所有开发人员的存储库设置解决方案,请查看.gitattributes文件中的text属性.这样,开发人员不必在存储库上手动设置自己的行结尾,并且因为不同的存储库可以具有不同的行结束样式,所以至少在我看来,global core.autocrlf并不是最好的.
例如,在给定路径上取消设置此属性[ . - 文本]将在登记和结账时强制git不接触行结尾.在我看来,这是最好的行为,因为大多数现代文本编辑器都可以处理两种类型的行结尾.此外,如果您作为开发人员仍希望在签入时进行行结束转换,您仍可以设置路径以匹配某些文件或在存储库中设置eol属性(在.gitattributes中).
另请查看这篇相关文章,其中更详细地描述了.gitattributes文件和文本属性:Git最好的CRLF(回车,换行)处理策略是什么?
Ben*_*ing 19
最简单的方法是使用.gitattributes
存储库中的本地文件。
您还可以更改特定文件扩展名的行结尾
* text=auto # auto
*.txt text
*.vcproj text eol=crlf # windows line-endings
*.sh text eol=lf # linux line-endings
*.jpg -text
Run Code Online (Sandbox Code Playgroud)
这也覆盖了全局默认值,因此它更加便携,并使存储库在不同的机器上更加可靠。
git config --global core.autocrlf false
Run Code Online (Sandbox Code Playgroud)
这根本不会修改行结尾。
对我来说,运行命令的诀窍是什么
git config auto.crlf false
Run Code Online (Sandbox Code Playgroud)
在项目的文件夹内,我想要它专门用于一个项目。
该命令通过添加行更改了路径 {project_name}/.git/config (仅供参考 .git 是一个隐藏文件夹)中的文件
[auto]
crlf = false
Run Code Online (Sandbox Code Playgroud)
在文件的末尾。我想更改文件也有同样的技巧。
归档时间: |
|
查看次数: |
386054 次 |
最近记录: |