git rm -r --cached 解决已提交的文件在.gitignore中加入忽略后无效的问题

git rm -r --cached 解决已提交的文件在.gitignore中加入忽略后无效的问题

不该提交的文件已经提交后,仅仅在gitignore中加入忽略是不行的.需要执行如下命令

git rm -r --cached .

// 注意 这里是有 "." 的, ". " 代表当前目录

去掉已经托管的文件,然后重新提交

git add .
git commit -m ''

忽略规则简单举例

#            表示此为注释,将被Git忽略

*.a          表示忽略所有 .a 结尾的文件

!lib.a        表示但lib.a除外

/TODO       表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

build/        表示忽略 build/目录下的所有文件,过滤整个build文件夹;

doc/*.txt      表示会忽略doc/notes.txt但不包括 doc/server/arch.txt

bin/:     表示忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件

/bin:     表示忽略根目录下的bin文件

/*.c:     表示忽略cat.c,不忽略 build/cat.c

debug/*.obj:    表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj

**/foo:         表示忽略/foo,a/foo,a/b/foo等

a/**/b:         表示忽略a/b, a/x/b,a/x/y/b等

!/bin/run.sh    表示不忽略bin目录下的run.sh文件

*.log:          表示忽略所有 .log 文件

config.php:     表示忽略当前路径的 config.php 文件

/mtk/           表示过滤整个文件夹

/mtk/do.c       表示过滤某个具体文件

参考

https://blog.51cto.com/u_15300875/3070193

git 忽略文件 .gitignore 以及规则

posted @ 2024-03-27 14:16  焦涛  阅读(712)  评论(0)    收藏  举报