有没有办法强制执行 git add,忽略行尾问题?

3
我有一个需要导入到git的巨大目录,并且我正在忍受换行符管理的地狱。
最初,我需要将所有内容放入仓库中,没有时间处理换行符。为了实现这一点,我添加了一个.gitattributes文件,其中包含*-text,但这并不能解决问题,因为有很多子目录包含具有自己的.gitattributes文件和text=auto的模块。
有没有办法让所有文件都在仓库内,而不再遇到困难?

你是指 .gitattributes 文件吗?那里面放的是 * -text 这样的内容,而不是 .gitignore 文件。 - Wolf
抱歉,出错了。已经修改。 - Áxel Costas Pena
我刚刚测试了一下,git在将具有Unix或Dos行结尾的文件提交到同一代码库时没有问题。您能详细说明您的问题吗?您从git那里得到了什么信息? - ooxi
问题出现在 git add 上,它会拒绝不符合当前 eol 配置(在这种情况下由 gitattributes 指定)的文件。 - Áxel Costas Pena
1个回答

1

gitattributes documentation中指出:

在决定为路径分配哪些属性时,Git会咨询以下内容:

  • $GIT_DIR/info/attributes文件(具有最高的优先级),
  • 与所讨论的路径位于同一目录中的.gitattributes文件以及其父目录,直到工作树的顶部(包含.gitattributes的目录距离所讨论的路径越远,则其优先级越低),
  • 最后考虑全局和系统范围内的文件(它们具有最低的优先级)。

如果您只想影响一个单独的存储库(即,为该存储库特定用户工作流程的文件分配属性),则应将属性放置在$GIT_DIR/info/attributes文件中。

因此,请尝试在$GIT_DIR/info/attributes中设置您的* -text指令,至少对于您的初始添加和提交。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接