方式1
項(xiàng)目中的某個(gè)文件(比如stupid.txt)已經(jīng)被commit遭赂,并push到server了糯耍,這時(shí)發(fā)現(xiàn)stupid.txt不應(yīng)該被git管理砂沛,同步到團(tuán)隊(duì)每個(gè)開發(fā)人員那里变抽,這時(shí)在.gitignore文件里面添加"stupid.txt"已經(jīng)不起作用了陵像。因?yàn)?gitignore只對(duì)從來(lái)沒有commit過的文件起作用猖任。這時(shí)可以
- git rm --cached stupid.txt //從版本庫(kù)中rm 文件你稚,working dicrectory中仍然保留,如果要?jiǎng)h除目錄下所有文件包括子目錄中的 git rm -r --cached directory_name
- 在.gitignore中添加要忽略的文件
- commit
- push
- 其他成員pull朱躺,working directory中對(duì)應(yīng)的文件會(huì)刪除刁赖,所以如果文件重要,要提前備份长搀。
方式2
如果只是自己這里不想把stupid.txt的改動(dòng)繼續(xù)commit宇弛,
'git update-index --assume-unchanged logs/*.log'
這個(gè)文件修改之后,git status不會(huì)顯示這個(gè)文件有變化源请。