1

我正在将 BitBucket 与 Git 一起使用,并且想知道如何在 Bitbucket 上配置 GitIgnore 以忽略区分大小写。基本上,正在使用的编程语言会自动更改某些单词的大小写,例如枚举和一些声明的变量,我希望能够更改单词的大小写,而无需以任何方式将它们标记为已修改。

谢谢你。

4

1 回答 1

3

您标记问题 gitignore。但是 gitignore 是关于文件名的。但是,如果您谈论变量,则可能是指文件内容。

无论你真正的意思是什么,答案都应该是一样的。绝对不能让 Git 忽略字符大小写的差异,无论是文件名还是文件内容。Git 在内部计算内容和文件名的 SHA1 校验和。如果任何字符的大小写发生变化,SHA1 值将始终完全不同。

要消除仅由更改字符大小写引起的烦人差异,您需要在签入前“规范化”所有拼写。为您定义什么是“正常”拼写,并在 git 中定义一个预提交挂钩(您最喜欢的搜索引擎会找到有关 git 挂钩的信息)。在其原始形式中,钩子可能会拒绝“非规范化”输入,您需要在提交成功之前手动调用“规范化器”。您还可以使用清洁和涂抹过滤器来构建一些东西。但这是一个工具箱,不是现成的解决方案。请参阅https://www.git-scm.com/docs/gitattributes(我从来不需要做任何类似的事情)。如果您使用相当智能的编辑器,最好在每次保存操作时自动进行标准化。

添加/更正:实际上 git 支持忽略文件名中的大小写。请参阅core.ignorecase 它没有很清楚地记录(引用“启用各种解决方法”)。我从来不需要使用它,所以我不能说更多。

于 2013-09-28T18:42:13.467 回答