如何用gitignore忽略子目录文件?

时间:2017-06-26 13:02:52

标签: git

我想忽略git系统中除* .c文件之外的任何文件。我写了.gitignore这样的文件。

!**/*.c

虽然我的文件没有被忽略。

~/p/normal_linux_programming (master) $ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

modified:   .gitignore
new file:   bell/a.out
new file:   bell/bell.c
new file:   bell/bell.c~
new file:   cat/#cat.c#
new file:   cat/a.out
new file:   cat/cat
new file:   cat/cat.c~
new file:   cat/cat2
new file:   cat/cat2.c~
new file:   cat/data
new file:   cat/data~
new file:   chmod/chmod
new file:   chmod/chmod.c
new file:   chmod/chmod.c~
new file:   chmod/unko
new file:   grep/a.out
new file:   grep/grep
new file:   grep/grep.c~
new file:   head/#head.c#
new file:   head/.#head.c
new file:   head/head
new file:   head/head.c~
new file:   hello/hello
new file:   hello/hello.c
new file:   hello/hello.c~
new file:   ln/ln
new file:   ln/ln.c
new file:   ln/ln.c~
new file:   ls/ls
new file:   ls/ls.c
new file:   ls/ls.c~
new file:   mkdir/mkdir
new file:   mkdir/mkdir.c
new file:   mkdir/mkdir.c~
new file:   mv/#mv.c#
new file:   mv/.#mv.c
new file:   mv/NOTJUNK
new file:   mv/mv
new file:   mv/mv.c
new file:   rm/rm
new file:   rm/rm.c
new file:   rmdir/rmdir
new file:   rmdir/rmdir.c
new file:   rmdir/rmdir.c~
new file:   stat/stat
new file:   stat/stat.c
new file:   stat/stat.c~
new file:   symlink/symlink
new file:   symlink/symlink.c
new file:   symlink/symlink.c~
new file:   tail/#tail.c#
new file:   tail/.#tail.c
new file:   tail/tail
new file:   tail/tail.c~
new file:   wcl/a.out
new file:   wcl/wcl
new file:   wcl/wcl.c~

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified:   .gitignore

我该怎么办?
我只想存档* .c源文件。

1 个答案:

答案 0 :(得分:0)

我想忽略除* .c

之外的所有文件

将其写在2个单独的行上

# ignore all files 
*

# do not ignore any .c files
!*.c

# you also don't want to ignore your .gitignore file so you have to add it as well
!*.gitignore
相关问题