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

相关文章
相关标签/搜索