本地仓库:A和B

服务器:C

今天在本地仓库A希望删除一个文件test,于是执行以下命令:

1
2
3
4
$ sudo rm test
$ git add .
$ git commit -m "delete test"
$ git push origin

在本地仓库检查,的确没有文件test了。然后再次从服务器拉下来看看,执行

1
$ git pull

test没有啦。我以为成功了。

但是在另一个客户端的本地仓库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
只会处理已修改或者已删除的文件,但是不会处理新建的文件

好了,执行以下命令:

1
2
3
$ git add -u
$ git commit -m "delete test"
$ git push

这时候我们在本地git status发现,已经没有了那些提交信息。再去本地仓库B看看,
test也没有了!

总结:如果我们要彻底通过git删除,分两种方式,如果先执行rm 命令去删除就可以使用本文的方法。
如果想通过git,可以使用git rm命令。

最新文章

  1. 运用css,对于下拉菜单的制作
  2. Java控制图片按比例缩放- (注意内存释放)
  3. svn 应该忽略的文件(visual studio)
  4. cellmap for iphone
  5. js 正则 以字母开头必须有 大小写字母数字组成 可以有“@"或 ”.“
  6. 并行程序设计模式--Master-Worker模式
  7. 【crunch bang】安装firefox,删除iceweasel
  8. ABAP 内表 详解
  9. yeoman的学习
  10. APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸
  11. myEclipse异常解决:Errors occurred during the build. Errors running builder Mule 3 hot deployment
  12. SQL Server执行计划那些事儿(2)——查找和扫描
  13. VR全景智慧城市,开启“上帝视角”体验‘身临其境’
  14. oracle单字段拆分成多行
  15. 20165205 《网络对抗技术》 Exp0 Kali安装
  16. docker往阿里云推镜像和打包镜像
  17. 分布式锁之redisson
  18. [转]SpringMVC<from:form>表单标签和<input>表单标签简介
  19. Linux虚拟机下mysql 5.7安装配置方法图文教程
  20. ldap复制

热门文章

  1. js 格式化数字保留2位小数
  2. 30分钟LINQ教程
  3. :before\:after伪元素用法
  4. HDU 5690:2016"百度之星" - 初赛 All X
  5. Unity3D 材质球设置参数无效果的解决方法
  6. lievent源码分析:evbuffer
  7. 嵌入式之Linux系统裁剪和定制---(kernel+busyboxy+dropbear+nginx)
  8. UI设计的分类
  9. UITableViewCell的cell重用原理
  10. 《第一本docker书》第4章 使用docker镜像和仓库 读书笔记