git - 在每 `git log` 行显示当前分支名称

标签 git

如果我使用 Git 创建一个提交,它会提供一个简单的日志消息,其中包含分支名称、简短的 SHA 和一行描述:

[branchname 481f23b] Fixes from code review

但是如果我使用 git log --oneline,我只会得到简短的 SHA 和主题:

481f23b Fixes from code review
bb4070e Merge branch 'update-docs' into 'master'
e0095b2 Merge remote-tracking branch 'origin/master' into HEAD

我想不出任何方法来使用 git log --format="format:..." 在每一行打印出当前分支名称。

例如,如果我使用 --format="format:[%D %h] %s":

[HEAD -> branchname, origin/branchname 481f23b] Fixes from code review
[ bb4070e] Merge branch 'update-docs' into 'master'
[ e0095b2] Merge remote-tracking branch 'origin/master' into HEAD

有什么方法可以配置 git log 以在每个日志行上显示(当前)分支名称?

最佳答案

通过一些 shell 黑客技术,我似乎可以使用 sed 和 bash 替换来模拟它:

git log -200 --format="format:%Cgreen[BRANCHNAME %h]%Creset %s" | (sed "s/BRANCHNAME/$(git symbolic-ref -q --short HEAD || git describe --tags --exact-match)/")

当然,这将显示每个提交现在都是该分支的“一部分”,即使它最初不是。

关于git - 在每 `git log` 行显示当前分支名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32468339/

相关文章:

git - 如何通过 SSH 安装私有(private) NPM 包

亚搏体育appGitLab CI : Get source branch after merge-request has been accepted

node.js - 如何使用 npm 脚本将自定义提交消息推送到 github?

Git checkout --补丁

ruby - 使用 bundler ,如何解压缩通过 git 存储库安装的 gem?

.net - 有人制作了内存中的 GIT 存储库吗?

linux - 如何保持 git clone 更新?

javascript - Git 将图表记录到数组中

git - 将 Azure DevOps 连接到内部 IP 存储库

git - 如何让 magit pull 默认有 rebase 选项?