1.在已经提交的git代码管理里删除不想提交的目录或文件
1.在.gitignore里面删除想要删除的文件*(没有就不用)(我以app/build 文件夹为例子)
2.git add app/build
3.git status可以查看当前状态
4.git commit -m”commit app/build”
5.git push
6.git rm -r - -cached app/build 删除目录
7.git commit -m”rm app/build”
8.git push
9.在.gitignore里面添加忽略文件 app/build,
或者git checkout .gitignore
-2 Git忽略规则及.gitignore规则不生效的解决办法
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:
.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
规则很简单,不做过多解释,但是有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:( 先把要忽略的文件加入.gitignore,再执行下列命令)
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
PS:有时候需要上传已经加入过.gitignore的文件,我们在add时有时会报
fatal: pathspec ''***" did not match any files
此时需要将路径写全,并加-f
git add -f ***