git-查看日志、log和reflog

这篇具有很好参考价值的文章主要介绍了git-查看日志、log和reflog。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

com

log是查看提交记录(commit),而reflog是操作记录。最大区别是能不能查询到被删除的 commit 记录和 reset 的操作记录,log不能,而reflog可以。

在平时的开发中,经常会遇到代码提交错了需要回滚到一个历史版本,或因为大意回滚错了代码又需要还原等问题,这种回滚和还原操作都离不开git操作命令历史记录的查询。哪git为什么能实现回滚和撤销操作呢?主要跟HEAD有关,HEAD就是当前的意思。

Git允许我们在版本的历史和未来之间进行穿梭移动,使用命令 git reset --hard commit_id 就可以实现。这里的hard是硬的意思,对应的,还有soft软。

一般的操作是:回到过去,用git log查看以前的记录。如果发现回错了,用git reflog查询所有提交,然后再回来
下面来看看git log 和 git reflog的使用区别

git log命令

git log命令可以显示当前分支所有操作记录,不仅仅包含commit,还有回滚(reset)和切分支(checkout),不包括已经被删除的 commit 记录和reset的操作。(注意: 只是当前分支操作的信息)。例如下面这个例子: 先在dev_test1分支上修改一次文件,并commit标记提交信息;然后再修改一次文件,并commit标记提交信息;通过git log查到提交的信息如下:
git-查看日志、log和reflog
直接使用git log显示的信息太繁琐,可以加上参数 --pretty=oneline 只会显示版本号和提交时的备注信息,这样阅读起来更友好得多。

#命令
git reflog --pretty=oneline

git-查看日志、log和reflog
假如现在发现上面的第二次修改提交的代码有问题,需要将代码回滚到第一次提交的版本上,就可以使用git log查询commit_id来进行回滚。如下操作:
git-查看日志、log和reflog
如上图,使用 git reset --hard xxxx 回滚代码后,再使用git log查询提交的信息时,已经看不到前面的commitid(没有第一次修改的信息)。
到此就实现了git的HEAD穿梭到历史版本上,完成代码的回滚,但是会存在一个问题:假如使用 git reset --hard回滚代码后,发现回滚错了,需要还原本次的回滚(即 git的HEAD需要重返未来),但此时再使用git log来查询commit_id时,会发现查询不到已经被reset的操作版本号了,无法重返未来。解决这个问题就需要用git reflog命令。

git reflog命令

git reflog命令可以查看所有分支的所有操作记录信息(包括已经reset前面的commitID)。例如:执行 git reset --hard HEAD~1,退回到上一个版本,用git log则是看不出来被删除的commitid,用git reflog则可以看到被删除的commitid,这样我们就可以买后悔药,恢复到被删除的那个版本。
git-查看日志、log和reflog
如上图,即使使用reset回滚代码后,用git reflog可以看到被隐藏的commitid。

git reflog还有个作用就是:可以查看所有分支的所有操作记录信息。如下图操作是:从dev_test1分支上切到dev_test2分支上修改bug后commit提交,再切换dev_test1进行开发,此时在dev_test1分支上能看到dev_test2分支的提交记录。
git-查看日志、log和reflog文章来源地址https://www.toymoban.com/news/detail-403255.html

到了这里,关于git-查看日志、log和reflog的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 新版Github查看历史提交commit记录

    首先需要找到想要查看的项目, 如下图来到该仓库 然后, 可以看到如下, 点击进入 接下来就可以看到历史的commit记录, 红色标记出可以切换分支查看

    2024年02月11日
    浏览(59)
  • Git - 查看 commit 提交历史

    查看提交历史 在提交了若干更新,又或者克隆了某个项目之后,如何查看提交历史 官方栗子 运行下面的命令获取该项目: 运行 git log 命令 可以获取到的信息 不传入任何参数的默认情况下, git log 会按 时间先后顺序 列出所有的提交,最近的更新排在最上面 会列出每个提交

    2024年02月06日
    浏览(51)
  • git查看某个提交(commit)修改了哪些文件

    要查看某个提交(commit)修改了哪些文件,可以使用 Git 的 diff 命令结合 -p (逐行)或 -U (差异)选项。 以下是使用 git diff 命令查看提交修改文件的基本语法: 其中, commit_hash 是要查看修改历史的提交哈希值, file_pattern 是要检查的文件模式。可以使用通配符匹配多个文件

    2024年02月04日
    浏览(63)
  • git log ,查看提交次数和提交代码行数

    2.3 Git 基础 - 查看提交历史 先打开 git base , 再跳转到指定项目中,再执行以下git命令 代码提交总数统计: 贡献者/代码提交人数统计: 查看仓库提交者排名前五 查看指定人代码提交次数 查看git上个人代码量行数 统计所有成员的增删行数 Search-作者 这个命令支持的搜索参数

    2024年04月12日
    浏览(47)
  • git 合并多次提交记录(commit)

    在开发过程中,对于一个完整的功能可能会先后进行多次提交。这种及提交方式不利于与代码走查时或者后期回顾功能点影响范围。为此,应该将多次提交合并为一次提交。 例如当前提交如下: 若我想合并前3次提交即从91bfbb8f599fa0129f28f9c4fd85e9feeca335be到7dbba7b7b46aa47bb57d109cd6

    2024年02月05日
    浏览(55)
  • git——合并分支commit记录 squash提交

         在公司和别人协同合作时,作为开发需要向架构或者负责人提交mr以合并代码,为了提高review效率,有些负责人会要求一个mr仅保留一条commit记录方便代码比对review的观看,但是开发常常是很多需求和bug混合着写,不可能每个分支都暂存一下去其他分支查看吧,因此总会

    2024年02月14日
    浏览(65)
  • 使用Git rebase合并多条提交记录commit。以及使用 git commit amend本地提交直接合并到远程已有commit的用法

    需求场景一 : 对某个小的功能点进行多次反复的修改提交,且已经提交到远程,导致commit记录过多,太过于杂乱无章,想要精简合并一些提交记录。 场景还原: 比如下图4个git commit记录,log1-log4,需要将他们合并成一个提交记录 解决方案: 要处理的是log1-log4 这四条commit记

    2024年02月08日
    浏览(59)
  • git 查看当前分支最近一次提交的commit SHA

    获取当前分支最近一次commit SHA (长度为 40个 16进制数字的字符)命令如下: git rev-parse HEAD    获取简写(短) commit SHA git rev-parse --short HEAD  

    2024年02月10日
    浏览(56)
  • 【软件测试】Git查看commit的提交历史(详细)一点即通...

    查看提交历史 在提交了若干更新,又或者克隆了某个项目之后,如何查看提交历史 官方例子: 运行下面的命令获取该项目: 运行 git log 命令 可以获取到的信息 不传入任何参数的默认情况下,git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面; 会列出每个提

    2024年02月12日
    浏览(43)
  • 【实战】git 修改之前的提交记录信息(git commit -m ‘...‘)

    不论线上是否已有多次他人提交,只要是修改本地最后一条提交记录信息,都可以按这个来 进入vi编辑器后: 按 i 下方出现’- - 插入 - -‘的提示时,便可编辑提交记录信息 按 ESC ,输入 :wq 保存退出,或 :q! 不保存强制退出 查看提交日志中修改后的信息 查看前面的提交日

    2024年02月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包