原文地址:http://www.pizida.com/git-rm.html
本地仓库:A和B
服务器:C
今天在本地仓库A希望删除一个文件test,于是执行以下命令:
1 2 3 4 | $ sudo rm test $ git add . $ git commit -m
"delete test" $ git push origin |
1 | $ git pull |
但是在另一个客户端的本地仓库B拉下来,发现test又出来了。看来我以为的不是我以为的。
后来自己查资料,发现:
git add 表示 add to index only files created or modified and not those deleted
git add 只将新建的或者已更改的文件添加到索引区。(不会添加删除的文件)
但是我们现在是通过先rm的命令,那应该如何完成提交,并真正从服务端删除呢:
git add -u
git add -u这个命令的意思是 add to index only files modified or deleted and not those created
只会处理已修改或者已删除的文件,但是不会处理新建的文件
【git在本地仓库直接使用rm彻底删除文件,服务端还是存在。(已解决)】好了,执行以下命令:
1 2 3 | $ git add -u $ git commit -m
"delete test" $ git push |
test也没有了!
总结:如果我们要彻底通过git删除,分两种方式,如果先执行rm 命令去删除就可以使用本文的方法。
如果想通过git,可以使用git rm命令。
推荐阅读
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)
- GitHub|7 款可替代 top 命令的工具
- Spring Boot Serverless 实战系列 | 性能调优
- 讲真,你可能真不会用Github!
- 如何快速开发 Serverless Devs Package ?
- Serverless 年终技术盘点 (工业、学术、社区遍地开花,国内厂商迅速卡位)
- Serverless 场景排查问题利器(函数实例命令行操作)
- 云原生 Serverless Database 使用体验
- 数据可视化|几款免费在线甘特图工具
- Git|Tomcat 自定义错误页面(例如404页面等等)