首先来看一下忽略文件的正则:
忽略.json文件夹及文件夹下文件
.json
忽略以.xml结尾的文件
*.xml
忽略.o和.a文件
*.[oa]
忽略.c和.C文件,local.c除外
*.[cC]
!local.c
忽略pages文件和pages目录
pages
只忽略pages目录,不忽略pages文件
pages/
只忽略pages文件,不忽略pages目录
pages
! pages/
只忽略当前目录下的pages文件和目录,子目录的pages不在忽略范围内
/pages
以'#'开始的行,被视为注释.
* ?
:代表任意的一个字符
* *
:代表任意数目的字符
* {!ab}
:必须不是此类型
* {ab,bb,cx}
:代表ab,bb,cx中任一类型即可
* [abc]
:代表a,b,c中任一字符即可
* [ ^abc]
:代表必须不是a,b,c中任一字符
其次 git 忽略文件和文件夹的两种情况
1 .创建项目时设置好需要的忽略文件
根据上面的一些正则,在.gitignore
文件中添加想要忽略的文件和文件夹,提交至远程仓库。gitHub上已经设置好了许多忽略文件,下载修改即可。
.gitignore
只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
那么如何让.gitignore
生效呢,看下面👇
2 .已经提交过的文件或文件夹的忽略
上面提到但如果文件已经加入了版本控制,再在.gitignore
添加文件是不起作用的。需要把忽略的文件从缓存中删除,最简单的方法就是删除缓存中所有文件(改变成未track状态),再添加所有文件。先在.gitignore
文件中添加需要忽略的内容,然后一次执行下面三个命令即可。
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
以上是个人理解,如有问题欢迎留言讨论~
网友评论