git学习之路 (时光倒流-代码回退 git reset 与 git revert)

说代码撤销之前先说说 git HEAD 和 相对引用

  1. HEAD

官方说法: HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。

我的理解就是指向,HEAD指向哪里,你的代码就是哪次提交。

  1. 相对引用 (^ 合 ~)
    1. ^
      HEAD^ 就表示相对当前HEAD指向的提交记录的上一级
    2. ~
      HEAD~1 就表示相对当前HEAD指向的提交记录的前1级
      HEAD~3 就表示相对当前HEAD指向的提交记录的前3级

git reset

我们当前的git


执行 git reset HEAD~1 后的git库状态

使用 git reset 回退一个提交版本后,我们的git仓库就根本不知道你有C2这次提交记录。

git revert

同样,当前git提交记录


使用 git revert HEAD^ 后的git提交记录

是不是很奇怪为什么多出了一次 C2` 的提交, 在这里 C2` 其实就等于 C1,同样实现了代码回退,只是保留了我们 C2 这次的提交

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,814评论 1 17
  • 人生总有几个阶段会特别努力,比如高考,为了考一个好大学;比如考研,为了更好的发展;比如刚开始工作,为了得到领导的赏...
    奋斗的新哥阅读 421评论 5 7
  • 又梦到你了,梦里的你有些陌生。 我们又在同一个班里,你坐在第五行的末尾,我坐在第二行的末尾,就像那时一样。 我在和...
    晚晚不晓阅读 270评论 0 0
  • 传说,年兽害怕红色、火光和爆炸声,而且在大年初一出没。所以每到大年初一这天,人们便有了拜年、贴春联、挂年...
    陌夜冥阅读 308评论 0 0