返回

Git 藏着两个超级有用的 Log 命令,99%的人都不知道

前端

Git Log 的秘密武器:揭开 git shortlog 和 git reflog 的神秘面纱

身为一名开发者,你一定对 git log 命令不陌生。它作为 Git 版本控制系统中的得力助手,让你深入了解代码历史。但你知道吗?git 还暗藏两个超级有用的 log 命令:git shortlog 和 git reflog。

这三个 log 命令各有千秋,带你从不同视角探索代码演变史:

  • git log :展示所有提交记录,按时间倒序排列,附有详尽的提交信息,是了解代码变迁的主力军。

  • git shortlog :揭秘代码贡献者,列出每个提交者的提交次数和提交信息摘要,助你快速掌握代码贡献概况。

  • git reflog :记录 Git 操作的历史,包括分支切换、提交记录回滚等,堪称查找和恢复丢失提交的救命稻草。

Git Shortlog:代码贡献者的探照灯

git shortlog 命令让你轻松洞悉每个提交者的贡献情况。

使用方法

git shortlog [options]

常用选项包括:

  • -s :显示提交次数
  • -n :显示提交者姓名
  • -e :显示提交者邮箱
  • -w :显示提交信息摘要

例如,以下命令可显示每个提交者的提交次数和姓名:

git shortlog -sn

应用场景

  • 了解代码库的贡献者情况
  • 发现代码库中的活跃贡献者
  • 评估不同贡献者的贡献大小
  • 查找特定提交者的提交记录

Git Reflog:时光倒流,找回丢失的提交

git reflog 命令记录所有 Git 操作的历史,助你找回丢失的提交。

使用方法

git reflog [options]

常用选项包括:

  • -n :显示指定数量的记录
  • -v :显示详细的提交信息
  • -s :显示提交信息摘要

例如,以下命令可显示最近 10 条 reflog 记录:

git reflog -n 10

应用场景

  • 查找丢失的提交
  • 恢复误删除的提交
  • 追踪分支切换的历史
  • 调试 Git 操作

结语

git log、git shortlog 和 git reflog 这三个 log 命令是 Git 版本控制系统中的强大工具。掌握它们的使用方法,让你更深入地了解代码历史,提高开发效率。

现在,你已经知道了 git log 的两个秘密武器,赶快用起来吧!

常见问题解答

  1. 为什么 git reflog 找不到我丢失的提交?

    • 确保你在正确的分支上运行 git reflog。
    • reflog 记录有限数量的历史记录。如果提交被删除或合并,它可能不再存在。
  2. git shortlog 和 git log 有什么区别?

    • git shortlog 侧重于显示提交者的贡献情况,而 git log 提供更详细的提交记录。
  3. 如何使用 git shortlog 查找特定提交者的提交记录?

    • 使用 -s-n 选项,如下所示:
      git shortlog -sn <提交者姓名>
      
  4. 如何使用 git reflog 恢复丢失的提交?

    • 找到丢失提交的哈希值,然后使用以下命令恢复它:
      git checkout <哈希值>
      
  5. git reflog 可以记录所有 Git 操作吗?

    • 是的,它记录了几乎所有 Git 操作,包括提交、分支切换、标签创建等。