git:始终强制回购的windows行结尾

git:始终强制回购的windows行结尾,git,line-endings,core.autocrlf,Git,Line Endings,Core.autocrlf,我想强制我的repo始终使用windows行结尾,而不管用户的环境或core.autocrlf的设置如何。我读过关于使用.gittributes设置行尾的文章,但还没能做到这一点。我的.gittributes文件如下所示: * text=auto * text eol=crlf 添加此文件后,我运行git add--renormalize.和git add.gittattributes,然后推送到远程。但是,这并没有覆盖我的全局core.autocrlf设置。我想要的是将我的windows行结

我想强制我的repo始终使用windows行结尾,而不管用户的环境或
core.autocrlf
的设置如何。我读过关于使用
.gittributes
设置行尾的文章,但还没能做到这一点。我的
.gittributes
文件如下所示:

* text=auto
* text eol=crlf
添加此文件后,我运行
git add--renormalize.
git add.gittattributes
,然后推送到远程。但是,这并没有覆盖我的全局
core.autocrlf
设置。我想要的是将我的windows行结尾推送到Bitbucket,但我得到的是Bitbucket中的linux行结尾


如何强制我的git客户端为特定回购推送Windows行结束,而不考虑用户对
core.autocrlf
的设置?

首先,您有两个冲突的设置<代码>*text=auto和
*text-eol=crlf
不兼容。你需要选一个

然而,我很遗憾,两人都不会做你想做的事。Git没有“始终在存储库中转换为CR/LF”的选项。您唯一的选项控制进入工作目录的内容

例如,
*text eol=crlf
将把Windows样式的行结尾放在工作目录中,但将把Unix样式的行放在存储库中

您可以通过使用
*-text
完全禁用行尾配置,但这只会停止执行文本转换,并按照文件在磁盘上的存在方式签入文件。它不能消除Unix用户使用Unix样式的行结尾重写文件的可能性

我鼓励您忽略存储库中存在的文件内容,而是关注工作目录中需要的内容。如果您总是希望在磁盘上使用CR/LF,请使用
*text eol=crlf