2017-06-26 82 views
1

我想忽略除git系统中的* .c文件以外的任何文件。我这样写了.gitignore文件。如何用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源文件。

回答

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