git - 如何通过“去重”分支名称(如下所述)压缩我的 git 日志输出?
问题描述
我想显示我git log
的分支名称是“去重复的”——这样起源上的同一个分支就不需要在本地名称旁边显示它的全名。
例如,这是我目前作为我的第一行的内容git log --graph
:
* 9c202db5 (HEAD -> feature/blah-blah-descriptive-name--289, origin/feature/blah-blah-descriptive-name--289) do the thing to the code
但我希望它变得更像这样(这只是一个例子——只要能达到相同的基本效果就可以了):
* 9c202db5 (HEAD -> feature/blah-blah-descriptive-name--289 <-> origin) do the thing to the code
(此处的 SHA1 缩短是出于美观目的,以使差异在不滚动的情况下可见。)
解决方案
Git 在内部没有任何东西可以做到这一点。它所做的只是refs/heads/
从分支名称中删除,并且refs/remotes/
(或有时只是refs/
)从远程跟踪名称中删除。
您可以编写自己的代码来读取git log
输出并对其进行编辑。请注意,如果您命名一个分支,您将遇到 Git 本身遇到的相同歧义问题origin
。在内部,Git 知道区别,因为refs/heads/origin
它显然是一个分支名称——它以开头refs/heads/
——而refs/remotes/origin/master
显然是一个远程跟踪名称,因为它以refs/remotes/
. 从外部看,很难说出什么是什么。但是您可能对此没意见,就像 Git 如果您命名一个(本地)分支origin/master
一样:只要避免这样做,这不是问题!
推荐阅读
- google-chrome-devtools - Chrome任务管理器CPU一栏含义
- react-native - 如何为 react-native 项目构建 apk?
- networking - 网络用户如何补偿迟到的 802.11 信标?
- python-3.x - 从另一个 python 脚本导入变量而不运行模块
- android-studio - 如何实现成就的谷歌播放服务?
- c# - Asp.net 标签控件 maxlenght
- html - 当用户调整浏览器大小时如何放置水平滚动条整个页面
- javascript - 如何获取组件取决于 vue 路由器参数?
- git - Github:错误:RPC 失败;curl 55 SSL_write() 返回 SYSCALL,errno = 10053 致命
- python-3.x - 字典中的“IndexError:无法将'int'放入索引大小的整数”