我们有一个集中式的git存储库,其中只有一个用于Windows的项目。所以我们希望独裁者是假的。
然而,也有人在跨平台项目中工作,并设置
git配置--全局core.autocrlf真
如果他们忘记更改这个windows git存储库的设置,那么他们将提交unix结束文件,这是我们不希望看到的。
所以我想要的是:无论如何设置"git全局core.autocrlf",当克隆该回购时,autocrlf总是错误的,并且不需要额外的步骤来设置它。
我知道我们可以为本地回购设置core.autocrlf,但是如何为远程存储库设置它呢?
发布于 2013-09-11 10:04:47
您可以添加并提交一个文件,它为您所需的具有Windows (如*.cs、*.*proj等)类型的文件设置eol=crlf。
或者只是设定了
* text=auto在该文件中,将LFs保存在存储库中,并在其工作树中满足用户的任何需要。
确切的方法取决于存储库中已经存在的内容。
顺便说一句,来自Mono项目的文件中的注释块对于跨不同平台的EOL标准化问题特别有见解。
发布于 2013-09-11 08:11:36
您可以确保您的用户将GIT_TEMPLATE_DIR环境变量设置为"模板目录“,其中您有一个模板git。
该模板将在克隆或初始化新回购时使用,并且可以包含自定义模板配置文件。
"全局git钩“问题说明了如何使用模板机制预先配置回购的其他方面。
发布于 2013-09-11 10:17:11
您可以安装一个服务器端钩子,检查行尾是否正确,并集中拒绝/修复问题。
有关示例解决方案,请参阅此GIT CRLF钩 (尽管相反)
https://stackoverflow.com/questions/18735235
复制相似问题