git在本地倉庫直接使用rm完全刪除文件,服務端仍是存在

http://www.pizida.com/git-rm.html html



今天在本地倉庫A但願刪除一個文件test,因而執行如下命令git

$ sudo rm test
$ git add .
$ git commit -m "delete test"
$ git push origin

在本地倉庫檢查,的確沒有文件test了。而後再次從服務器拉下來看看,執行服務器

$ git pull

test沒有啦。我覺得成功了。ide

可是在另外一個客戶端的本地倉庫B拉下來,發現test又出來了。看來我覺得的不是我覺得的。
後來本身查資料,發現:
git add 表示 add to index only files created or modified and not those deleted
git add 只將新建的或者已更改的文件添加到索引區。(不會添加刪除的文件spa

可是咱們如今是經過先rm的命令,那應該如何完成提交,並真正從服務端刪除呢:orm

git add -u
git add -u  這個命令的意思是 add to index only files modified or deleted and not those created
只會處理已修改或者已刪除的文件,可是不會處理新建的文件htm

好了,執行如下命令:索引

$ git add -u
$ git commit -m "delete test"
$ git push

這時候咱們在本地git status發現,已經沒有了那些提交信息。再去本地倉庫B看看,
test也沒有了!get

總結:若是咱們要完全經過git刪除,分兩種方式,若是先執行rm 命令去刪除就能夠使用本文的方法。
若是想經過git,能夠使用git rm命令。it

相關文章
相關標籤/搜索