git
的命令git add <somefile>
是把增加的文件添加到缓存中,这些文件可以在.git
文件夹的index
文件夹中查看。- 在具体的项目中,可能由于所用的
IDE
不同,导致有些隐藏文件夹也被上传到远程库中去,例如.idea
文件夹就是IDEA
的结果,但这些文件夹别人并不需要,应次需要忽略,即写在.gitignore
文件中,.gitignore
文件内容如下:
.exe
Snake //可执行的二进制文件
*.sh //shell脚本文件
/.idea/*
- 但是考虑到实际场景:A和B一起做一个项目,A用的是集成
IDE
软件Ieda
,B是用编辑器Atom
,项目一开始忘记写.gitignore
文件了,A第一次提交时运行
git add .
git commit -m "一些描述"
git push
结果A本地仓库的缓存区已经有了.idea
文件夹,但这个文件夹B用不到,此时添加.gitignore
文件,内容如上所示,并在远程库删除.idea
文件夹。
- 但是,等到A下一次再提交新的代码时,远程库神奇的又有了.idea
文件夹,产生上述现象的原因是当A运行git add .
时,已经把此文件夹提交到缓存,下次提交到远程库时把缓存区的文件一股脑都提交到远程库。
- 因此,需要用到命令git rm --cached -r .idea
命令,它与git add .
起得作用的相反的,A运行此命令把缓存区的文件删除后,下次再git add .
,.gitignore
文件发挥作用,就不会把idea
文件夹提交到缓存,也就不会push到远程库了。