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