Git log 和 Git reflog 区别
最近工作中涉及到 git log
和 git reflog
命令的使用,但是在使用时并不太清楚这两命令的区别,于是开始了我的学习实践之路。
git log
使用git log
查看 commit 提交历史,获取内容已经进行倒序,可以使用 -n 参数来设置展示 commit 条数,使用参数 –pretty=oneline 来进行简化展示。
如果想看到其他人在该分支上提交的最新的 commit ,需要先拉取远程最新信息下来才可查看 git pull
git log
只能查看当前分支下的 commit 信息,查看其它分支 commit 需要切换分支
- 对于回退后的 commit 是无法通过
git log
来查看的
回退后 commit 丢失,如果我反悔,又想找回对应 commit 的代码呢?git log
是无能为力了,但此时 git reflog
就派上用场了。
git reflog
查看本地的 commit 变更历史,并且 commit 是不区分在某个分支提交的,加上 -n 参数可限制返回记录数目
利用 git reflog
命令查看 commit 变更历史,经常可以进行回退操作,或者可以进行恢复已经删除的分支
哈哈,总结及实践到此为止了。
前阵子同事用 devops 代码发布平台总是反馈拉到最新代码的 commit,但是打包出来的包还是以前代码的包,我就奇怪这怎么可能呢!于是到发布机上使用 git branch
发现是其他的分支,再 git reflog
一下,发现他们需要的 commit 其实更新下来了,却被切换了,这一排查,找到问题所在,其实是另一个同事在代码里的脚本加了切换分支的脚本。
哼,想让我背锅,不可能的!!!
本作品采用《CC 协议》,转载必须注明作者和本文链接