git输出当前分支名

期望只输出当前分支的名称,不需要其它信息。例如,当前在 dev 分支,使用命令之后输出dev

最开始想到的是使用 git branch,借助于 linux 中的管道命令,可以使用如下命令来实现。

git branch | grep \* | cut -d ' ' -f2
# 输出:dev

解释一下上述命令的含义。首先,使用 git branch 命令列出所有分支,包括本地分支和远程分支,其中 * 标记的分支表示当前分支;然后,使用 grep 命令过滤出包含 * 的行;最后,使用 cut 命令,将查找结果中的第二个字段提取出来,即当前所在的分支名。-d 指定分隔符为空格,-f 指定要提取的字段编号为 2

上面的命令虽然原理很简单,但是写起来太复杂了,还有一个更简单的命令来实现相同的效果。

git rev-parse --abbrev-ref HEAD
# 输出:dev

这里,git rev-parse 命令用于将 git 引用(如分支名、标签名、提交 ID 等)转换为 SHA-1 值,这里 HEAD 就是一个特殊引用,--abbrev-ref 参数用于获取当前分支的缩写名称。

当然,如果你想使用git branch命令的话,还有另一种更简单的方式,需要指定一些额外的参数

git branch --show-current
# 输出:dev

需要注意的是,git branch --show-current命令需要 Git 2.22.0 以上版本才能使用。

如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注