[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` 的显示格式,让提交历史更美观、信息更丰富。以下是详细解析:

🔍 完整命令拆解
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)
)和标签会以黄色显示。 - ✨ 每个提交包含:简短哈希、提交信息、日期、作者。
- 🌈 颜色区分不同元素,提升可读性(实际颜色取决于终端配置)。
🎯 为什么使用这个别名?
- 可视化分支结构:清晰看到分支合并、分叉情况。
- 信息密度高:一行显示提交哈希、类型、信息、日期、作者。
- 美观易读:颜色和格式区分不同元素,适合快速浏览历史。
❗ 注意事项
- 拼写错误:原配置中
-abbrev-commi
是拼写错误,应为-abbrev-commit
(已修正)。 - 颜色支持:需终端支持 ANSI 颜色码(大多数现代终端默认支持)。
- 自定义扩展:可修改格式字符串(如添加提交类型、时区等)。
🛠 如何使用?
- 临时执行:
git log --graph --pretty=format:'...' --abbrev-commit
- 永久别名:添加到
.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 高阶用户的常用配置,尤其适合团队协作中快速定位提交信息和分支历史。 🚀
💡
欢迎分享文章,或是来信与我交流