在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:

$ git add test.txt
$ git commit -m "add test.txt"[master 94cdc44] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt

一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:

$ rm test.txt

这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:

$ git status# On branch master# Changes not staged for commit:#   (use "git add/rm <file>..." to update what will be committed)#   (use "git checkout -- <file>..." to discard changes in working directory)##       deleted:    test.txt#no changes added to commit (use "git add" and/or "git commit -a")

现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit

$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"[master d17efd8] remove test.txt 1 file changed, 1 deletion(-) delete mode 100644 test.txt

现在,文件就从版本库中被删除了。

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

$ git checkout -- test.txt

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

小结

命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

转载于:https://my.oschina.net/u/1171320/blog/416182

git学习笔记-5 删除文件相关推荐

  1. Git 学习笔记 ignore 忽略文件

    Git 学习笔记 ignore .gitignore 文件 添加目标到 gitignore IDEA 中初始化 Git 仓库 问题 1. 无法添加到 gitignore (手动添加也没效果) 2. 文 ...

  2. Git学习笔记07-删除文件

    在Git中,删除也是一种修改.先新建一个文件,添加并提交.然后删除下看看. 一般删除直接从工作区把文件删了,或者使用rm命令 ​ 这是使用git status查看状态,会告诉我们删了哪个文件 ​ 这个 ...

  3. Git学习笔记——3、文件的新建、暂存、提交及重新提交

    本节在不考虑分支的情况,以game文件夹为例,来实际演示git的实际操作,为了好理解,先只模拟代码的增和补,至于回退一类的逆向操作则放在下一节. 1. 初始化本地库 假如我们的项目是game,新建并进 ...

  4. Git 学习笔记:自定义Git(完)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  5. Git学习笔记:标签管理以及GItHub

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  6. Git学习笔记:分支管理(2)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  7. Git学习笔记:分支管理(1)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  8. Git学习笔记:修改

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  9. 取得 Git 仓库 —— Git 学习笔记 04

    取得 Git 仓库 -- Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区.索引.本地版本库之间的交互:二是本地版本库和远程版本库之间的交互.第一块是基础,第二块是难点. 下面, ...

最新文章

  1. [数据结构] 时间复杂度计算
  2. 鼠标滑过GridView的数据行时修改行的背景颜色
  3. mysql百万级分页优化
  4. 软件工程 – 开发模型
  5. Android BLE新手进入
  6. 单片机脉冲喷吹仪c语言,C51单片机脉冲累加器(C语言程序)
  7. we7 php 反编译,微擎人人商城小程序前端反编译解包还原教程
  8. 2021年机器学习及R应用 陈强老师 应用于领域 经济管理 人文社科 医学卫生领域等
  9. 靶机渗透日记 responder
  10. 如何在Mysql中运行SQL文件
  11. 使用CM快速搭建CDH集群
  12. 一篇文章搞定Shiro权限管理框架
  13. CTFshow之36Dweb做题记录
  14. java万能爬虫爬取拉勾网
  15. 三菱系统刀库乱刀处理_数控加工中心刀库乱刀原因以及处理方法
  16. 海上垂直无人机垂直起降平台
  17. 验证码输入错误怎么再次刷新验证码
  18. Xiaojie雷达之路---雷达原理(二刷)脉冲法测距
  19. 工程伦理(2021春)第二章课后习题答案
  20. 计算机磁盘损坏问题与系统的重置和重装

热门文章

  1. 【优化求解】基于混合蛙跳算法实现最优求解matlab源码
  2. CAD图纸的版本格式可以进行转换吗?CAD版本转换怎么操作呢?
  3. 计算机辅助设计技术认识的论文,计算机辅助设计论文(7页)-原创力文档
  4. 关闭U盘自动播放功能
  5. Qt 6中的Qt Network
  6. 二次开发扩展能力,能帮助星图地球开发者平台实现什么?
  7. 微软Cortana数字助理存在安全风险
  8. BES2300YP蓝牙耳机出现关机失败不断重启问题的解决方法
  9. android视频分辨率压缩,surfaceview+MediaRecorder 视频录制压缩
  10. 计算机cpu电压,调整CPU电压的方法