git-commit後但是發現有不需要push的檔案或者資料夾解決-實測!

startyangu發表於2018-07-22

比如有個檔案  build.xml

1、cd到檔案或者資料夾的目錄

2、git rm -r --cached  build.xml(檔名)     

      git rm  --cached  foldername(資料夾名)

  這個命令的意思是從版本庫中將該檔案或者改資料夾刪除

備註:

    版本庫的意思就是已經commit但是沒有push,commit後會存在於

    本地倉庫中,push以後才會存在於遠端倉庫中!add的操作讓檔案存在於stage(暫存區)中,

    commit的將stage中的檔案剪下到本地倉庫

    push是將本地倉庫中的檔案剪下到遠端倉庫

3、cd 到檔案或者資料夾的目錄,然後刪除對應的檔案或者資料夾,直接物理刪除,當然刪除前可以備份一下(這一步應該可以不用)

4、執行  git add filename 或者  git add foldername (add 可以不用,因為已經沒有檔案給我們add了),然後在git commit 需要刪除的檔案,可用idea的視覺化來操作

這個時候可以發現 被物理刪除了的檔案,顯示為灰色,點選commit以後會發現,在待push的地方,不需要提交的檔案已經被刪除了

 

 

第二種情況

如果只是不想把本地自己的檔案修改不再讓版本來控制,但是這個檔案之間被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

相關文章