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

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

当前回答

的输出可能会让您感兴趣

git symbolic-ref HEAD

特别是,根据您的需要和您可能希望做的布局

basename $(git symbolic-ref HEAD)

or

git symbolic-ref HEAD | cut -d/ -f3-

还有。git/HEAD文件,你可能会感兴趣。

其他回答

有人可能会发现这个(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

为了完整起见,至少在Linux上,echo $(__git_ps1)应该用圆括号括起当前分支的名称。

这在某些情况下可能很有用,因为它不是Git命令(但依赖于Git),特别是用于设置Bash命令提示符以显示当前分支。

例如:

/mnt/c/git/ConsoleApp1 (test-branch)> echo $(__git_ps1)
(test-branch)
/mnt/c/git/ConsoleApp1 (test-branch)> git checkout master
Switched to branch 'master'
/mnt/c/git/ConsoleApp1 (master)> echo $(__git_ps1)
(master)
/mnt/c/git/ConsoleApp1 (master)> cd ..
/mnt/c/git> echo $(__git_ps1)

/mnt/c/git>

的输出可能会让您感兴趣

git symbolic-ref HEAD

特别是,根据您的需要和您可能希望做的布局

basename $(git symbolic-ref HEAD)

or

git symbolic-ref HEAD | cut -d/ -f3-

还有。git/HEAD文件,你可能会感兴趣。

我使用

/etc/bash_completion.d/git

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

$ git rev-parse --abbrev-ref HEAD
master

这应该适用于Git 1.6.3或更新版本。