问题:
有一些乱七八遭的文件已经存在到我们的远程Git仓库中了。例:build,bin,.idea…非常恶心
说明:
这个时候我首先想到的是使用.gitgnore文件把这是文件或文件夹给他排除,使其不能再提交到仓库中。但是我们发现即使我们在.gitgnore文件添加了排除规则,之前已经提交到仓库中的文件已经还在远程仓库中。
解决方案:
- 首先我们要知道仓库在我们的本地是会有缓存的(本地缓存)我们增加的排除文件,只生效于还未进行版本控制的文件。
- 那么我们只需要将不需要的文件去掉版本控制即可
# 从本地把整个项目的缓存先清掉(也就是不对这文件进行版本管理了)
git rm -r --cached .
# 针对我们的.gitgnore 把规则写好
# 再把整个项目进行版本管理
git add .
# 这个时候就已经解决问题了 只要将咱们的项目push到远程仓库即可
git commit -m 'update .gitgnore'
.gitgnore 排除规则说明
*.ini # 忽略所有.ini结尾的文件
!model.ini # 但model.ini除外
/bin # 忽略项目文件夹下面的bin文件夹 但不包括 doc/bin/
doc/ # 忽略 webContext/ 目录下的所有文件
doc/*.docx # 会忽略 doc/*.docx 但不包括 doc/xxx/*.docx