git:总是强制repo的windows行结束



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

* text=auto
* text eol=crlf

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

如何强制我的git客户端推送特定repo的Windows行结尾,而不管用户对core.autocrlf的设置如何?

首先,您有两个冲突的设置。CCD_ 8和CCD_ 9不兼容。你需要选择一个。

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

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

您可以使用* -text完全禁用行尾配置,但这只会停止进行文本转换,并按磁盘上的实际情况签入文件。它并没有消除Unix用户用Unix风格的行结尾重写文件的可能性。

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

相关内容

  • 没有找到相关文章

最新更新