是否有一个Git命令等价于:

git branch | awk '/\*/ { print $2; }'

当前回答

在Git 1.8.1中,你可以使用带有"——short"选项的Git symbol -ref命令:

$ git symbolic-ref HEAD
refs/heads/develop
$ git symbolic-ref --short HEAD
develop

其他回答

喜欢别名的同学: 将以下文件放到你的.zshrc中,这样你就可以更容易地获得git命令流:

alias gpsu="git push -set-upstream origin $(git symbol -ref -short HEAD)"

这不是更短,但它也处理分离的分支:

git branch | awk -v FS=' ' '/\*/{print $NF}' | sed 's|[()]||g'

我使用

/etc/bash_completion.d/git

它随Git一起提供,并提供了带有分支名称和参数补全的提示。

有人可能会发现这个(git show-branch——current)很有用。当前分支显示为*标记。

host-78-65-229-191:idp-mobileid user-1$ git show-branch --current
! [CICD-1283-pipeline-in-shared-libraries] feat(CICD-1283): Use latest version of custom release plugin.
 * [master] Merge pull request #12 in CORES/idp-mobileid from feature/fix-schema-name to master
--
+  [CICD-1283-pipeline-in-shared-libraries] feat(CICD-1283): Use latest version of custom release plugin.
+  [CICD-1283-pipeline-in-shared-libraries^] feat(CICD-1283): Used the renamed AWS pipeline.
+  [CICD-1283-pipeline-in-shared-libraries~2] feat(CICD-1283): Point to feature branches of shared libraries.
-- [master] Merge pull request #12 in CORES/idp-mobileid from feature/fix-schema-name to master

我想这应该很快,可以与Python API一起使用:

git branch --contains HEAD
* master