github 如何排除文件

这几天研究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了。

windows xp 下 添加.gitignore

这里需要手动添加 ".gitignore 文件,以过滤不需要进行版本控制的文件。

      方法:

      在 AndroidSpace 仓库中新建一个文本文件,如叫 ignore.txt;

      向其中添加需要过滤的文件名称的匹配字符,如:

      */bin/*

      */gen/*

      添加完毕后保存关闭,在 cmd 窗口,执行以下命令:

      D:AndroidSpace>ren ignore.txt .gitignore

      将 ignore.txt 改名为特定的 .gitignore 文件,直接 F2 重命名在 windows 是不允许的。

原文地址:https://www.cnblogs.com/zhasen/p/3670199.html