如何通过Git命令仅展示本地分支及其上游分支的提交日志图谱?
实现指定分支的Git日志图
你可以通过组合Git命令来实现这个需求,直接执行以下命令就能只展示你的本地分支及其上游分支的提交图:
git log --graph --oneline --decorate $(git for-each-ref --format='%(refname:short) %(upstream:short)' refs/heads | awk '{print $1, $2}' | tr '\n' ' ')
命令拆解:
git for-each-ref --format='%(refname:short) %(upstream:short)' refs/heads:遍历所有本地分支,输出每个分支的短名称和对应的上游分支短名称awk '{print $1, $2}':提取分支名和上游分支名,自动忽略没有上游的分支的空值tr '\n' ' ':把每行输出转换成空格分隔的参数,传给后面的git log
如果觉得每次输入太长,可以给这个命令配置一个Git别名,方便后续一键调用:
- 打开你的
.gitconfig文件(一般在用户根目录下) - 添加以下内容:
[alias] mylog = !git log --graph --oneline --decorate $(git for-each-ref --format='%(refname:short) %(upstream:short)' refs/heads | awk '{print $1, $2}' | tr '\n' ' ')
- 保存后,直接在终端输入
git mylog就能执行上述组合命令。
内容的提问来源于stack exchange,提问作者hasdrubal
相关产品推荐
相关产品推荐

