Git log 和 Git reflog 区别

最近工作中涉及到 git loggit reflog 命令的使用,但是在使用时并不太清楚这两命令的区别,于是开始了我的学习实践之路。

  • git log 使用
    git log 查看 commit 提交历史,获取内容已经进行倒序,可以使用 -n 参数来设置展示 commit 条数,使用参数 –pretty=oneline 来进行简化展示。

git log和git reflog区别
如果想看到其他人在该分支上提交的最新的 commit ,需要先拉取远程最新信息下来才可查看 git pull

  • git log 只能查看当前分支下的 commit 信息,查看其它分支 commit 需要切换分支

git log和git reflog区别

  • 对于回退后的 commit 是无法通过 git log 来查看的

git log和git reflog区别

git log和git reflog区别
回退后 commit 丢失,如果我反悔,又想找回对应 commit 的代码呢?git log 是无能为力了,但此时 git reflog 就派上用场了。

  • git reflog 查看本地的 commit 变更历史,并且 commit 是不区分在某个分支提交的,加上 -n 参数可限制返回记录数目

git log和git reflog区别
利用 git reflog 命令查看 commit 变更历史,经常可以进行回退操作,或者可以进行恢复已经删除的分支

git log和git reflog区别

git log和git reflog区别
哈哈,总结及实践到此为止了。
前阵子同事用 devops 代码发布平台总是反馈拉到最新代码的 commit,但是打包出来的包还是以前代码的包,我就奇怪这怎么可能呢!于是到发布机上使用 git branch 发现是其他的分支,再 git reflog 一下,发现他们需要的 commit 其实更新下来了,却被切换了,这一排查,找到问题所在,其实是另一个同事在代码里的脚本加了切换分支的脚本。
哼,想让我背锅,不可能的!!!

本作品采用《CC 协议》,转载必须注明作者和本文链接
雪花飘
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!