# 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a 结尾的文件 !lib.a # 但 lib.a 除外 /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO build/ # 忽略 build/ 目录下的所有文件 doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
二、git提供了一个全局的.gitignore,你可以在你的用户目录下创建 ~/.gitignoreglobal 文件,以同样的规则来划定哪些文件是不需要版本控制的。需要执行“git config --global core.excludesfile ~/.gitignoreglobal”来使得它生效。这里有一个例子:
# Compiled source # ################### *.com *.class *.dll *.exe *.o *.so # Packages # ############ # it's better to unpack these files and commit the raw source # git has its own built in compression methods *.7z *.dmg *.gz *.iso *.jar *.rar *.tar *.zip # Logs and databases # ###################### *.log *.sql *.sqlite # OS generated files # ###################### .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes Icon? ehthumbs.db Thumbs.db
三、git还提供了另一种排出的方式来做同样的事情,即在.git/info/exclude这里设置的你要排出的文件。他不会影响到其他人,也不会提交到版本库中去。请注意与第一种方法的区别!
四、.gitignore 还有个有意思的小功能,一个空的 .gitignore 文件可以当作是一个placeholder。如当你需要为项目创建一个空的log目录时,这就变的很有用。使用方法:创建一个log目录在里面放置一个空的.gitignore文件,当你clone这个repo的时候git会自动的创建好一个空的log目录了。
补充:
1、如果已经git add之后想删除某条记录,可以使用git rm来从记录文件里删除记录避免被commit执行。
2、删除以前提交的commit,可push push -f origin。
参考资料:
1、在 git 中忽略文件 gitignore 与 exclude