大家建立一个项目时,往往不会先建立好.gitignore文件后再提交的。而是先直接上“三板斧”:
git init .
git add .
git commit -m"first import."
当工作了一段时间,或者有了其它开发者加工后,发现,很多垃圾文件,资源文件,项目文件都被git给版本管理了起来。这时,开始补救,首先想到的是加一个.gitignore文件。
vim .gitignore
或者,若linux平台中
echo "*.xml" >> .gitignore
总之,你会发现,有一类情况,就是,你已经被管理起来的文件,即使加进了.gitignore中,也没有被git排除。对的,这就是仅用.gitignore方式来排除解决不了的。因为,只有未被加入到版本管理中的文件,并且版本分支中无此文件才能起作用。
这时,你可能抱怨,但没关系,谁让你三板斧时那么顺手了。
要想排除已经管理起来的文件。还要接着做下面两个事。
这时你要做一个决定,你是想彻底的删除这个文件还是仅仅是排除git管理。
如果是此文件没有用了,那么,既然有git add,也就一定有git rm
git rm file
git commit file
git push origin master
但如果这个文件是一个IDE的配置文件或者是项目本地化使用的文件,可删除不得。否则,你的项目可能打开不了。这时就不是删除而是排除。这个文件可以保留在你的本地,而且git的其它开发人员也不会update到你的这个文件了。使用下面的命令吧:
git rm --cached file
对了,其它不变,只是加一个选项即可。让你达成本地保留,git排除的效果,当然,最好在第一步.gitignore中加入,以备继续使用“三板斧”。
网友评论