BitBucket服务器 Ctrl M字符删除

问题描述 投票:0回答:1

我们观察到从Perforce迁移到BitBucket后,几乎所有的文件都有Ctrl+M字符。你有BitBucket服务器级别的选项设置,以删除Ctrl+M字符在所有的仓库或从每个repobranch?否则告诉我们,如果任何其他方法,这可以处理。

linux windows git encode bitbucket-server
1个回答
0
投票

在Git中存储文本文件的规范方式是用LF结尾,即使你的项目使用其他结尾,也要根据需要在结账时转换行结尾。 听起来你的版本库是CRLF行尾,CR字符也是Ctrl-M(字节13)。

服务器在克隆时是无法修改数据的,因为数据的完整性是由哈希来验证的,因此服务器无法改变所使用的行结束符。

如果你想改变你的repo的行尾,最简单的方法是创建一个名为 .gitattributes 在仓库的根目录下,添加以下内容,然后运行 git add --renormalize .,然后一起提交。

* text=auto

这将导致你的文件被检查到LF结尾,每个用户都可以控制在他们的系统中使用哪种行结尾。 默认情况下,使用的是平台的本地行结束符。

如果你有一些文件的模式,比如shell脚本或PowerShell文件,必须总是使用一个给定的行尾,那么你可以将这样的行加入到 .gitattributes:

*.sh eol=lf
*.ps1 eol=crlf

你可以在 "中国 "中阅读更多关于这些选项的信息。gitattributes 手册页。

© www.soinside.com 2019 - 2024. All rights reserved.