Git(Linux环境):文件删除以及版本回退

目录

文件删除

从工作目录中删除

从工作目录和暂存区中删除

从暂存区中删除,工作目录中保留

从版本库中删除:版本回退到错误提交前的本

撤销到暂存区:git reset --soft SHA1

撤销提交到工作区:git reset --mixed SHA1

将工作区、暂存区和版本库恢复到指定版本:git reset --hard SHA1

小结


文件删除

从工作目录中删除

从工作目录和暂存区中删除

  • 方式一:通过linux系统命令删除文件(表面删除,实质仍在暂存区和版本库中)
    • 需要将删除添加至暂存区并提交,才能真正的删除

  • 方式二:使用“git rm -f  file.c”,不仅从工作区删除了,而且从暂存区也删除了,只需提交即可

  • 避免文件出现在未跟踪清单中
  • 删除并提交后,该文件就不再被版本库追踪,但是版本库中仍然有这些文件的快照

从暂存区中删除,工作目录中保留

  • 一个工程里生成的bin文件或者其他不需要的文件(包括:库文件、可执行文件、日志、临时文件)误添加到暂存区中

  • 此时,不需要test.bin加入暂存区,只想留在工作区。执行命令:git rm -cached file.c

从版本库中删除:版本回退到错误提交前的本

  • 撤销提交至版本库的内容

撤销到暂存区:git reset --soft SHA1

  • 误将文件提交到版本库中,想将文件从版本库撤回到暂存区

  • git reset --soft HEAD^ 恢复到最新提交的前一次commit,将本次提交的内容恢复到暂存区,本次提交的历史记录消失

  • 接下来,可以将回退到暂存区的文件进行git rm -cached file.c等操作

撤销提交到工作区:git reset --mixed SHA1

  • 为了演示,再次将前面的内容进行提交

  • git reset --mixed HEAD^ 恢复到最新提交的前一次commit,将本次提交的内容恢复到工作区,本次提交的历史记录消失

  • 然后可对文件进行修改,提交至暂存区,再提交至版本库

将工作区、暂存区和版本库恢复到指定版本:git reset --hard SHA1

  • 恢复到指定版本后,前面的做得工作全部清除,记录清除,内容无法恢复(不建议使用这个命令)

小结

  • 删除也算一个修改,也可以从版本库中还原
  • 删除一个文件提交了,可以回退到上一个版本进行补救。

猜你喜欢

转载自blog.csdn.net/baidu_41388533/article/details/108328196
今日推荐