git log的样式美化 cover image

git log的样式美化

[alias]
        lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit

这个是 Git 的别名配置,用于自定义 `git log` 的显示格式,让提交历史更美观、信息更丰富。以下是详细解析:

Image in a image block
🔍 完整命令拆解
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit
参数/选项 作用
--graph 显示提交历史的图形化结构(分支、合并等线条)
--pretty=format: 自定义提交的显示格式(使用颜色和占位符)
--abbrev-commit 缩短提交哈希值(%h)的长度(默认 7 位)

🌈 颜色和占位符说明(-pretty=format 部分)

符号 含义
%Cred%h%Creset 红色的简短提交哈希(%h),%Creset 取消颜色
%C(yellow)%d%Creset 黄色的引用名称(如分支名、标签),例如 (main)
%s 提交信息(主题)
%Cgreen(%ci) 绿色的提交日期(%ci:ISO 8601 格式,如 2025-03-27 14:00
%C(bold blue)<%an>%Creset 加粗蓝色的作者名称(%an),包裹在 <>
📌 示例输出

执行 git lg 后,输出类似:

* c3f6a2d - (main) feat: add new feature (2025-03-27 14:00) <Alice>
* 8d45b3e - fix: bug in login (2025-03-26 16:30) <Bob>
| * 2f7a1c9 - (feature/login) chore: update docs (2025-03-25 10:00) <Charlie>
|/
* a1b2c3d - init: project setup (2025-03-24 09:00) <Alice>
  • 🔀 -graph 生成的图形化分支结构( 表示提交,|/ 表示分支合并)。
  • 🔖 分支名(如 (main))和标签会以黄色显示。
  • ✨ 每个提交包含:简短哈希、提交信息、日期、作者。
  • 🌈 颜色区分不同元素,提升可读性(实际颜色取决于终端配置)。
🎯 为什么使用这个别名?
  1. 可视化分支结构:清晰看到分支合并、分叉情况。
  2. 信息密度高:一行显示提交哈希、类型、信息、日期、作者。
  3. 美观易读:颜色和格式区分不同元素,适合快速浏览历史。
❗ 注意事项
  • 拼写错误:原配置中 -abbrev-commi 是拼写错误,应为 -abbrev-commit(已修正)。
  • 颜色支持:需终端支持 ANSI 颜色码(大多数现代终端默认支持)。
  • 自定义扩展:可修改格式字符串(如添加提交类型、时区等)。
🛠 如何使用?
  1. 临时执行:git log --graph --pretty=format:'...' --abbrev-commit
  2. 永久别名:添加到
    .gitconfig

    [alias]
      lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit

这个别名是 Git 高阶用户的常用配置,尤其适合团队协作中快速定位提交信息和分支历史。 🚀

💡
欢迎分享文章,或是来信与我交流