比如有個(gè)文件 build.xml 1、cd到文件或者文件夾的目錄 2、git rm -r --cached build.xml(文件名) git rm --cached foldername(文件夾名) 這個(gè)命令的意思是從版本庫(kù)中將該文件或者改文件夾刪除 備注: 版本庫(kù)的意思就是已經(jīng)commit但是沒有push,commit后會(huì)存在于 本地倉(cāng)庫(kù)中,push以后才會(huì)存在于遠(yuǎn)程倉(cāng)庫(kù)中!add的操作讓文件存在于stage(暫存區(qū))中, commit的將stage中的文件剪切到本地倉(cāng)庫(kù) push是將本地倉(cāng)庫(kù)中的文件剪切到遠(yuǎn)程倉(cāng)庫(kù) 3、cd 到文件或者文件夾的目錄,然后刪除對(duì)應(yīng)的文件或者文件夾,直接物理刪除,當(dāng)然刪除前可以備份一下(這一步應(yīng)該可以不用) 4、執(zhí)行 git add filename 或者 git add foldername (add 可以不用,因?yàn)橐呀?jīng)沒有文件給我們add了),然后在git commit 需要?jiǎng)h除的文件,可用idea的可視化來操作 這個(gè)時(shí)候可以發(fā)現(xiàn) 被物理刪除了的文件,顯示為灰色,點(diǎn)擊commit以后會(huì)發(fā)現(xiàn),在待push的地方,不需要提交的文件已經(jīng)被刪除了
第二種情況 如果只是不想把本地自己的文件修改不再讓版本來控制,但是這個(gè)文件之間被add、commit、push過, 做一下操作 1、git rm -r --cached filename (文件名) 2、git update-index --assume-unchanged build.xml 3、然后將該文件build.xml 添加到 .gitignore 中
如果第2點(diǎn)中不小心把文件名寫錯(cuò)了 。撤銷可以使用一下的命令 git update-index --no-assume-unchanged build.xml |
|