如何从git log命令中提取当前分支名称

tpgth1q7  于 2022-12-10  发布在  Git
关注(0)|答案(4)|浏览(240)

如何从git日志中提取当前分支名称
如何从git日志中提取当前分支名称
当我使用**

log -n 1 --pretty=%d HEAD

**则显示以下输出(HEAD -〉分支1、源/分支1、源/分支3、源/分支4等....)

但是我想从git日志中只提取当前分支名称,有人能帮忙吗?

限制:我只想通过使用git log命令来实现。

erhoui1w

erhoui1w1#

从评论来看
当我在开发环境中部署bundle时,head被分离,当我运行像(git rev-parse --abbrev-ref HEAD,git分支-show-current)这样的命令时,返回空
你真正要做的是找到一个指向当前checkout的引用。如果HEAD没有附加到它,它就不是“当前分支”,它只是一个可能相关的名称,指向同一个提交。
而且还牵扯到一大笔钱?到底是怎么回事?
要查找指向当前 checkout 的引用的常用简写,

git for-each-ref --format='%(refname:short)' --points-at HEAD

或者如果您不介意使用逗号分隔的列表

git log --no-walk --decorate-refs=refs/ --pretty=%D

并将其限制为仅列出本地分支,请将refs/heads添加到f-e-r或将日志选项更改为--decorate-refs=refs/heads

e37o9pze

e37o9pze2#

将输出通过管道传输到sed,以便只获取所需的部分:

git log -1 --pretty=%d | sed -E 's/^.*HEAD -> ([^\,]*)\,.*$/\1/'

(默认情况下,HEAD是隐式的,您不需要显式地询问它)

fiei3ece

fiei3ece3#

据我所知最简单的方法是:

git rev-parse --abbrev-ref HEAD

它将只写入当前分支名称。

pbgvytdp

pbgvytdp4#

我们可以使用git-branch命令的--show-current选项来打印当前分支的名称。
$ git分支-显示当前

相关问题