来自:小车的博客
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了。