.gitignore中的子文件夹
问题描述:
我的回购中有很多子文件夹,其中有几个build/
目录我想在提交我的代码时忽略。据我了解,有两种方法可以忽略所有的文件夹:.gitignore中的子文件夹
-
*/build/
(Unix的通配符) -
build/
(混帐忽略文件/文件夹的方式)
我我找到了Git ignore sub folders,但它有两个答案,我想知道这两种方法之间的区别是什么(无?)是。相同的规则是否适用于文件?
答
build/
是正确的做法。它将忽略build
目录中的任何文件,无论这些目录嵌套在您的回购中有多深。
*/build/
意味着忽略build
目录是正好在您的回购中的一个深度。因此,例如build
和foo/bar/build
内的文件不会被忽略。
如果您需要更细粒度的控制,您可以随时添加特定的目录以排除,但也不要使用!
作为前缀排除。
我试过各种各样的变化,并且无法在裸回购库上获得'git add。'来忽略该目录的所有子目录中的所有文件。 dirname/*,* dirname/*,* dirname/*,dirname/**','dirname/*/*'/*','dirname/*/*/*/*/*'。 – Chris 2014-11-20 17:21:01
@Chris'dirname /'应该可以工作。你的意思是一个' - '回购'吗? – Simon 2014-11-20 21:15:58
谢谢@Simon,所以它一定是别的。我不是说 - 不要。我在我的目录中运行'git init',然后'git add --all .'(带或不带--all),它们包含了源文件和'.gitignore',它包含了我的命名目录下的每个非空子目录。我正在使用1.9.4.msysgit.1现在解决它通过删除文件夹,然后索引后重新添加它们,认为我误解了文档或语法。 – Chris 2014-11-21 14:44:53