我要的效果是 忽略bin目录,但是不忽略bin目录下面的/debug/ser目录
目录如下:bin/debug/ser
.gitignore代码如下
/bin
!bin/debug/ser/
bin下面的所有文件都忽略了。但是bin/debug/ser下的文件也被忽略了。!不要应该继续跟踪【不忽略】文件吗?
LZ的问题在StackOverFlow有详细的解答,参考http://stackoverflow.com/questions/5533050/gitignore-exclude-folder-but-include-specific-subfolder
按照最佳采纳的那个答案,将.gitignore按照以下方式书写:
!/bin/ /bin/* !/bin/debug/ !/bin/debug/ser/
问题解决
EDIT:这个文档写的情况和stackoverflow的最佳答案回答基本上一样,英文无力可以看看这个http://codego.net/73357/ ######
$ cat .gitignore *.[oa] *~
第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的,我们用不着跟踪它们的版本。第二行告诉 Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。此外,你可能还需要忽略 log,tmp 或者 pid 目录,以及自动生成的文档等等。要养成一开始就设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件。 文件 .gitignore 的格式规范如下:
# 此为注释 – 将被 Git 忽略 # 忽略所有 .a 结尾的文件 *.a # 但 lib.a 除外 !lib.a # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO /TODO # 忽略 build/ 目录下的所有文件 build/ # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt doc/*.txt
######http://git.oschina.net/progit/2-Git-%E5%9F%BA%E7%A1%80.html#2.7-%E6%8A%80%E5%B7%A7%E5%92%8C%E7%AA%8D%E9%97%A8###### 你试试 bin/ 另外,如果一个文件已经git了,后添加gitignore要重新弄一下,否则后续也一直git。 ######不行,bin/debug/ser这个目录下的文件,还是都被忽略了。 加惊叹号! 貌似不管用######你把.gitignore也push上去啊######!/bin/版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。