思考题

  • 深夜,小明在做操作系统实验。困意一阵阵袭来,小明睡倒在了键盘上。等到小明早上醒来的时候,他惊恐地发现,他把一个重要的代码文件printf.c删除掉了。苦恼的小明向你求助,你该怎样帮他把代码文件恢复呢?

  • 正在小明苦恼的时候,小红主动请缨帮小明解决问题。小红很爽快地在键盘上敲下了git rm printf.c,这下事情更复杂了,现在你又该如何处理才能弥补小红的过错呢?

  • 处理完代码文件,你正打算去找小明说他的文件已经恢复了,但突然发现小明的仓库里有一个叫Tucao.txt,你好奇地打开一看,发现是吐槽操作系统实验的,且该文件已经被添加到暂存区了,面对这样的情况,你该如何设置才能使Tucao.txt在不从工作区删除的情况下不会被git commit指令提交到版本库?

解答

(1)git checkout -- printf.c从工作区中删除文件,可以从缓存区、版本库中找回来。
(2)git checkout -- printf.c从缓存区删除文件依然可以从版本库中找回来。
(3)git rm --cached Tucao.txt删除缓存区的文件。

   rm 命令删除本地工作区文件,但只要提交过,就可以从暂存区或版本库中拉回来;如果确实要从版本库中删除该文件,那就用命令 git rm 删掉,并且重新 git commit 以保证暂存区和版本库中都没有改文件。

  那么当使用 rm,git rm 命令误删的时候,就记住不要用任何提交命令,不然版本库就会更新删除的文件,就找不回来了。

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

转载于:https://www.cnblogs.com/ye-buaascse/p/10505707.html

Linux与git使用引导(git rm 与rm命令)相关推荐

  1. linux下git的HEAD,Git工具详解以及与GitHub的配合使用

    git安装 linux上的安装 [cpp] view plaincopy yum install git windows上的安装 http://git-scm.com/download/win 下载安 ...

  2. 嵌入式Linux入门4:版本控制git的使用

    本文介绍版本控制git的使用.git的使用,网络上有很多资料,笔者使用git多年,因此本文列出简单操作命令,顺便说一说使用经验. 一.Windows篇 由于嵌入式Linux使用的uboot.kerne ...

  3. Linux 系统使用 git 提交代码-- git 的安装及使用(简明教学指南)

    一.安装配置Git 1. 注册 GitHub 账号,GitHub:GitHub: Where the world builds software · GitHub. 2. 在 Linux 中安装 gi ...

  4. git hook 自动部署 linux git本地服务器搭建 git root 目录 git 仓库 git root/ .git

    服务器自动部署项目之GitHooks神器 - CSDN博客 -- 每次都是将本地将代码push到远程仓库,然后再ssh到服务器上git pull,甚是麻烦.在项目开发中使用git的时候,push之后, ...

  5. linux(centos 65)下安装 git jdk maven tomcat nginx tomcat mongodb

    1 Git Install 首先更新yum,此过程可能时间较长: # yum update 安装所要依赖的软件: # sudo yum install curl-devel expat-devel g ...

  6. linux下从git获取有权限的代码,linux下从源代码安装git

    之所以有这样的需求,是因为部分预安装的git版本太低,很多功能没有并且安全性存在问题. 比如git submodule add xxx@host:yyy.git必须在父repo的root目录安装,而新 ...

  7. Linux查看历史信息代码,使用 GIT 获得Linux Kernel的代码并查看,追踪历史记录

    Linux kernel  的官方 GIT地址是: 可以从这个地址拿到 kernel 的 代码仓库. 1. 拿代码仓库 git clone git://git.kernel.org/pub/scm/l ...

  8. linux的git命令,linux命令实战安装git、配置git、创建仓库、部署项目

    搭建Git服务器需要准备一台运行Linux的机器,本文以Centos6.8纯净版系统为例搭建自己的Git服务. 准备工作:以root用户登陆自己的Linux服务器. 一 安装git 1. 安装依赖包 ...

  9. .gitignore无效解决方案以及git rm和rm的区别

    一. gitignore 先来了解一下gitignore的常用语法 斜杠"/"表示目录, 是否已斜杠开头有很大区别,如 /build 与 build/ 的区别:其中 build/  ...

  10. linux centos7 安装最新版git 教程

    2019独角兽企业重金招聘Python工程师标准>>> linux centos7 安装最新版git 教程 2018年08月22日 11:53:59 alisen169 阅读数:13 ...

最新文章

  1. ajax如何请求json文件,简单的ajax请求加载外部json文件
  2. JavaScript学习笔记之数组(二)
  3. TP5:验证器的封装——5
  4. java kiwi_[转] Java 8 开发的 4 大顶级技巧
  5. 用MATLAB将矩阵数据写入txt文件中,打开乱码原因
  6. idea查看ruby代码_Java代码审计入门篇:WebGoat 8(初见)
  7. 不能再任性 APP收集个人信息基本规范公开征求意见
  8. 智能穿戴市场群雄逐鹿,OPPO入局能没有杀手锏?
  9. Python爬虫爬取微博热搜保存为 Markdown 文件
  10. Python基础语法(if语句)
  11. 第一章 十天干,十二地支
  12. 《MFC添加语音功能》
  13. RK3568-ANDROID11-降频DDR
  14. Web前端基础知识总结
  15. C语言学生成绩管理系统——检查学号姓名,双向循环链表
  16. 7-11 哥德巴赫猜想
  17. 综述:轻量级CNN架构设计
  18. (已解决)video标签在ios端默认全屏播放(h5开发)
  19. Unity3d 实现录音、播放和保存功能
  20. win7FTP服务器配置以及访问

热门文章

  1. Angular实现数据双向绑定
  2. 并行计算:openMP(一)—— parallel,for,sections指令的用法
  3. 华为鸿蒙操作系统的优势与短板
  4. Hwclock用法介绍
  5. 2020-12 补丁日: 微软多个高危漏洞通告
  6. 设置session的有效时间
  7. AWS云上基础服务体验课程
  8. 小学生的搞笑考试卷子
  9. “Internet来宾帐户”的设置的问题
  10. python获取摄像头型号,python3.6 opencv获取摄像头代码