我尝试为此寻找一个特殊的git命令,但找不到一个。任何人都可以提出比以下更短或更快的建议:
git branch | awk '/\*/ { print $2; }'
答案 0 :(得分:552)
$ git rev-parse --abbrev-ref HEAD
master
这适用于Git 1.6.3或更新版本。
答案 1 :(得分:106)
在Git 1.8.1中,你可以使用 git symbolic-ref 命令和“--short”选项:
$ git symbolic-ref HEAD
refs/heads/develop
$ git symbolic-ref --short HEAD
develop
答案 2 :(得分:25)
您可能对
的输出感兴趣git symbolic-ref HEAD
特别是,根据您的需要和布局,您可能希望
basename $(git symbolic-ref HEAD)
或
git symbolic-ref HEAD | cut -d/ -f3-
然后再次出现.git/HEAD
文件,您可能也会感兴趣。
答案 3 :(得分:12)
这是我刚刚偶然发现的旧帖子。据我所知,没有办法本地显示GIT中的当前分支,所以我一直在使用:
#> git branch | grep '*'
答案 4 :(得分:11)
使用Git 2.22(2019年第二季度),您将拥有一个更简单的方法:git branch --show-current
。
请参见commit 0ecb1fc的Daniels Umanovskis (umanovskis
)(2018年10月25日)。
(由Junio C Hamano -- gitster
--在commit 3710f60中合并,2019年3月7日)
branch
:引入--show-current
显示选项用
--show-current
调用时,git branch
将打印当前 分支名称并终止。
仅打印实际名称,不带refs/heads
。
在分离的HEAD状态下,什么也不输出。旨在用于脚本编写和交互式/信息性使用。
与git branch --list
不同,无需过滤即可获取 分支名称。
答案 5 :(得分:7)
我想这应该很快,可以与python API一起使用。
git branch --contains HEAD
* master
答案 6 :(得分:4)
我正在使用
/etc/bash_completion.d/git
它附带了git,并提供了分支名称和参数完成的提示。
答案 7 :(得分:2)
对于喜欢别名的人: 将以下内容添加到您的 .zshrc 中,以便您获得更轻松的 git 命令流程:
<块引用>alias gpsu="git push --set-upstream origin $(git symbols-ref --short HEAD)"
答案 8 :(得分:1)
这不短,但它也处理分离的分支:
git branch | awk -v FS=' ' '/\*/{print $NF}' | sed 's|[()]||g'
答案 9 :(得分:0)
为了完整起见,至少在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>
答案 10 :(得分:0)
某人可能会觉得这(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
答案 11 :(得分:-1)
仅使用git branch
对我有用。
Git版本:2.13.2