如何从git日志中提取当前分支名称如何从git日志中提取当前分支名称当我使用**
log -n 1 --pretty=%d HEAD
**则显示以下输出(HEAD -〉分支1、源/分支1、源/分支3、源/分支4等....)
但是我想从git日志中只提取当前分支名称,有人能帮忙吗?
限制:我只想通过使用git log命令来实现。
erhoui1w1#
从评论来看当我在开发环境中部署bundle时,head被分离,当我运行像(git rev-parse --abbrev-ref HEAD,git分支-show-current)这样的命令时,返回空你真正要做的是找到一个指向当前checkout的引用。如果HEAD没有附加到它,它就不是“当前分支”,它只是一个可能相关的名称,指向同一个提交。而且还牵扯到一大笔钱?到底是怎么回事?要查找指向当前 checkout 的引用的常用简写,
HEAD
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
refs/heads
--decorate-refs=refs/heads
e37o9pze2#
将输出通过管道传输到sed,以便只获取所需的部分:
sed
git log -1 --pretty=%d | sed -E 's/^.*HEAD -> ([^\,]*)\,.*$/\1/'
(默认情况下,HEAD是隐式的,您不需要显式地询问它)
fiei3ece3#
据我所知最简单的方法是:
git rev-parse --abbrev-ref HEAD
它将只写入当前分支名称。
pbgvytdp4#
我们可以使用git-branch命令的--show-current选项来打印当前分支的名称。$ git分支-显示当前
4条答案
按热度按时间erhoui1w1#
从评论来看
当我在开发环境中部署bundle时,head被分离,当我运行像(git rev-parse --abbrev-ref HEAD,git分支-show-current)这样的命令时,返回空
你真正要做的是找到一个指向当前checkout的引用。如果
HEAD
没有附加到它,它就不是“当前分支”,它只是一个可能相关的名称,指向同一个提交。而且还牵扯到一大笔钱?到底是怎么回事?
要查找指向当前 checkout 的引用的常用简写,
或者如果您不介意使用逗号分隔的列表
并将其限制为仅列出本地分支,请将
refs/heads
添加到f-e-r或将日志选项更改为--decorate-refs=refs/heads
e37o9pze2#
将输出通过管道传输到
sed
,以便只获取所需的部分:(默认情况下,
HEAD
是隐式的,您不需要显式地询问它)fiei3ece3#
据我所知最简单的方法是:
它将只写入当前分支名称。
pbgvytdp4#
我们可以使用git-branch命令的--show-current选项来打印当前分支的名称。
$ git分支-显示当前