`

github中不加入版本控制.gitignore设定

 
阅读更多

引自http://www.xiaoche.me/blog/2012/01/19/github-gitignore/

这几天研究github page,由于用jekyll本地测试时会生成_site文件夹,所以需要把这个文件夹排除在外再提交到github,到底怎么设置呢?

这就需要用到.gitignore,即不加入版本控制,在git根目录下建立.gitignore,具体设定如下:

tmp.txt         //忽略tmp.txt
*.log           //忽略所有log文件
tmp/*           //忽略tmp文件夹所有文件
log/**/*.log    //忽略log目录下的包括子目录下的所有log文件

其他的一些过滤条件

  • ?:代表任意的一个字符
  • *:代表任意数目的字符
  • {!ab}:必须不是此类型
  • {ab,bb,cx}:代表ab,bb,cx中任一类型即可
  • [abc]:代表a,b,c中任一字符即可
  • [ ^abc]:代表必须不是a,b,c中任一字符

由于git不会加入空目录,所以下面做法会导致tmp不会存在

tmp/*             //忽略tmp文件夹所有文件

改下方法,在tmp下也加一个.gitignore,内容为

*
!.gitignore

还有一种情况,就是已经commit了,再加入gitignore是无效的,所以需要删除下缓存

git rm --cached ignore_file

这样就OK了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics