Linux与git使用引导(git rm 与rm命令)

时间:2022-05-17 09:22:20

思考题

  • 深夜,小明在做操作系统实验。困意一阵阵袭来,小明睡倒在了键盘上。等到小明早上醒来的时候,他惊恐地发现,他把一个重要的代码文件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 用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容