因此,建议不要删除已回答的问题,所以我将把这个留在这里,但请参阅John的答复,它解释说,该解释已经出现在引用的.的文本中。
根据手册页,似乎git命令会在目录层次结构上上升到根目录:
从路径或任何父目录中的.gitignore文件中读取模式,高层文件中的模式(直到工作树的层次)被较低级别文件中的模式覆盖到包含该文件的目录中。
我们的项目有许多git子模块,我希望能够在父模块中使用一个.gitignore,这些模块可以应用于所有这些模块。
但这似乎行不通。对.gitignore的搜索是否停止在存储库根目录下?我希望我犯了一个错误。
$ git --version
git version 1.8.5.5
$ grep target ../.gitignore # the .gitignore in the parent module
target
**/target/
$ git status --porcelain # feature/target/ matches **/target but is not ignored
?? feature/target/
?? update-site/target/
$ echo '**/target/' >> .gitignore # add it to submodule repo root
$ git status --porcelain
M .gitignore发布于 2014-07-15 00:36:31
对.gitignore的搜索确实停止在存储库根目录上。你发布的文档本身也说了同样的话(“工作树的顶层”)。对于子模块来说,这与任何其他存储库没有任何不同。
如果您希望在存储库中使用相同的忽略规则,则需要将相同的.gitignore签入每个repo中,或者使用全局忽略规则(当然,这些规则将特定于本地机器;您不能将它们签入)。
https://stackoverflow.com/questions/24748151
复制相似问题