当commit提交一个文件a到本地仓库中,然后又git rm a 删除这个文件(),再执行git push后,同样会把a文件push到远程仓库。并且这个时候执行git pull并不会从远程仓库拉取a文件到本地仓库中(因为本地仓库中存在这个文件a,git rm a只是从本地工作区中删除了这个文件)
这个时候如果你想要删除刚才提交到远程仓库中的a文件,你可以先commit提交一下刚才执行的git rm a操作,这个时候再git push,远程仓库的a文件就被删除了。
如果你在git rm a命令后不想push了,且想把a文件从本地仓库中删除,可以执行命令git reset --hard head^回退到上一个版本,记住,这个时候不能用git rm --cached a,因为a文件已经不存在工作区了