文档章节

Git 删除操作

dkvirus
 dkvirus
发布于 2017/07/05 15:06
字数 621
阅读 78
收藏 0

2.5 删除操作

本节假设你已经创建了版本库,路径为 d:\git-demo。如未创建,请参照 2.1 节先创建版本库。

创建测试文件,添加到版本库

本节需要删除文件,先创建一个测试文件 testdel.txt 添加到版本库,方便接下来场景的测试使用。

  • 在 d:\git-demo 目录下创建文件 testdel.txt

    内容如下:

    this file will be deleted.
    
  • 添加到暂存区

    $ git add testdel.txt
    
  • 提交到版本库

    $ git commit -m "add a testdel file"
    
  • 使用 git status 查看状态

    $ git status
    

场景一:在工作区删除一个文件,误操作,想要还原

  • 将 testdel.txt 文件删除后发现是误操作,需要找回。

  • 先使用 git status 查看下当前状态:

    删除文件1

    可以看到我们删除了文件,也被当做是一次修改,再次证实暂存区管理的是修改而不是文件。

  • 幸运的是之前将这个文件添加到版本库中,所以我们可以从版本库中取到该文件的备份。

  • 使用 git checkout 指令从版本库的备份中取出文件

    $ git checkout -- testdel.txt
    
  • 再次检查下 git-demo 目录,发现刚才删除的文件被找了回来。

场景二:在工作区删除一个文件,想要将版本库中该文件也删除

  • 现在很明确要将 testdel.txt 文件删除;

  • 分析需要删除两次,一次是删除工作区的该文件,一次是将版本库中最新备份中该文件删除;

  • 删除本地工作区的 testdel.txt 文件:到 git-demo 目录下直接删除即可;

  • 删除版本库中最新备份中的该文件,分两步走:

    • 前面说到删除本地文件也是一个修改,将这个修改告诉暂存区;

      // $ git rm <filename>
      $ git rm testdel.txt
      
    • 将暂存区的修改提交给分支仓库

      $ git commit -m "remove testdel.txt"
      
  • 到这里为止分支仓库中最新备份中的 testdel.txt 也就被删除了。

场景三:在工作区删除一个文件,版本库中也删除了该文件,后来发现又需要想要还原

  • 事情总不像想象中那么简单,已经在版本库的最新版本备份中将 testdel.txt 文件删除了,想想又后悔了;

  • git 提供了极大的机动性,可以通过回到更久远之前的版本备份即可。

    详细内容在 2.3 节已经讲解过,这里简要略过。

© 著作权归作者所有

上一篇: Git 分支的概念
下一篇: Git 撤销操作
dkvirus
粉丝 41
博文 120
码字总数 117311
作品 0
六安
程序员
私信 提问
idea git 高级操作(checkout、reset、revert)

---layout: blogistop: truetitle: "idea git 高级操作(checkout、reset、revert)"date: 2018-09-18category: 版本控制tags: 版本控制 --- git reset 切换到指定分支,这里以master为例,下......

开心的哈士奇
01/15
0
0
git的日常操作

git参考 http://www.git-scm.com/book/zh/ch3-5.htmlgit中文资料 http://blog.csdn.net/yangwen123/article/details/8664342 https://github.com/abhikp/git-test/wiki/View-the-commit-log-......

zhouyc
2015/09/18
87
0
git 常用命令(含删除文件)

Git常用操作命令收集: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加远程仓库:$ git remote add [name] [url] 删除...

帅旗军
2017/03/12
0
0
2.5 删除操作

2.5 删除操作 > 本节假设你已经创建了版本库,路径为 d:git-demo。如未创建,请参照 2.1 节先创建版本库。 创建测试文件,添加到版本库 本节需要删除文件,先创建一个测试文件 testdel.txt ...

嘘别吵_4d1c
2017/12/08
0
0
Git 学习笔记 —— 常用命令

====================================================================== 本地仓库操作 ====================================================================== 初始化本地仓库 git in......

小杨阿哥哥
2014/02/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot+jpa 错误信息org.springframework.beans.factory.BeanCreationException

报错信息 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/a......

冥焱
2分钟前
0
0
威胁快报|新兴挖矿团伙借助shodan作恶,非web应用安全再鸣警钟

近日,阿里云安全发现了一个使用未授权访问漏洞部署恶意Docker镜像进行挖矿的僵尸网络团伙。我们给这一团伙取名为Xulu,因为该团伙使用这个字符串作为挖矿时的用户名。 Xulu并不是第一个攻击...

迷你芊宝宝
9分钟前
0
0
十大经典排序算法动画与解析

排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记...

夜黑人模糊灬
12分钟前
2
0
7. java枚举

1. 枚举是什么 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便 2. 为什么不用静态常量来替代枚举类呢? 3. 常用方式 3.1 方式1 枚举类: package cn.ali.tencent...

20190513
14分钟前
0
0
elasticsearch – 弹性搜索:“Term”,“Match Phrase”和“Query String”之间的差异

术语查询匹配单个术语,因为它是:不分析值。 所以,它不必根据你索引的情况而降低。 如果您在索引时间提供Bennett并且未分析该值,则以下查询将不返回任何内容: { "query": { "te...

xiaomin0322
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部