在Git工作区的根目录下创建一个特殊的.gitignore
文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
使用Windows的童鞋注意了,如果你在资源管理器里新建一个.gitignore
文件,它会非常弱智地提示你必须输入文件名,但是在文本编辑器里“保存”或者“另存为”就可以把文件保存为.gitignore
了。
不需要从头写.gitignore
文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore
忽略文件的原则是:
- 忽略操作系统自动生成的文件,比如缩略图等;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的
.class
文件; - 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
.idea #忽略.idea文件夹及文件夹下文件
*.iml #忽略以.iml结尾的文件
*.[oa] # 忽略*.o和*.a文件
*.[bB] # 忽略*.b和*.B文件,my.b除外
!my.b
dbg # 忽略dbg文件和dbg目录
dbg/ # 只忽略dbg目录,不忽略dbg文件
dbg # 只忽略dbg文件,不忽略dbg目录
!dbg/
/dbg # 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内
# 以'#'开始的行,被视为注释.
* ?:代表任意的一个字符
* *:代表任意数目的字符
* {!ab}:必须不是此类型
* {ab,bb,cx}:代表ab,bb,cx中任一类型即可
* [abc]:代表a,b,c中任一字符即可
* [ ^abc]:代表必须不是a,b,c中任一字符
git
已经tracking了某些想忽略的文件,这时候只在文件里加上想忽略的文件夹是不能生效的。可以理解成 有缓存,需要我们自己手动删除已经tracking的文件,执行如下命令:
git rm -r --cached ignoreFile
(ignoreFile就是你想忽略的文件
),让git
不再tracking
这些文件。
##ignore *.a and *.o files
#*.[oa]
##ignore *.b and *.B files but except my.b
#!my.b
##ignore dbg dir and dbg file
#dbg
#
#*.tmp
#*.temp
*
!*.c
!*.h
!*/
*/Drivers/
*/*/Drivers/
dbg/