如何获取Git中当前分支的名称?
当前回答
我会尝试以下方法之一:
1.>git符号ref--短HEAD
git symbolic-ref --short HEAD
>>> sid-dev
2.>git分支--显示当前
git branch --show-current
>>> sid-dev
3.>git name rev–仅名称HEAD
git name-rev –name-only HEAD
>>> HEAD sid-dev
笔记:
1.>git symbol ref--short HEAD显示当前分支HEAD的简短符号引用。这是当前分支名称。
2.>gitbranch--showcurrent也是打印当前分支名称的一种简单有效的方法。
3.>git name rev–name only HEAD为当前分支的HEAD版本提供符号名称
4.>在上面的示例中,sid-dev是我的分支的名称。
其他回答
找到了一个与Oliver Refalo相同长度的命令行解决方案,使用了良好的ol‘awk:
git branch | awk '/^\*/{print $2}'
awk将其理解为“在与正则表达式匹配的行上执行{}中的内容”。默认情况下,它采用空格分隔的字段,因此您可以打印第二个。如果假设只有分支所在的行具有*,则可以删除^。啊,打高尔夫!
在Shell上,您可以执行以下操作
git branch | grep '*'
很简单,我用一行(bash)就搞定了
git branch | sed -n '/\* /s///p'
(信贷:有限补偿)
当我在那里的时候,唯一的一条线路就是远程跟踪分支(如果有的话)
git rev-parse --symbolic-full-name --abbrev-ref @{u}
如果在分支上,则仅显示当前分支的名称,但如果分离,则打印当前提交id:
git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD
如果分离,第一部分将返回错误,第二部分将始终打印当前提交id。
我有一个名为gitcbr(当前分支)的简单脚本,它打印出当前分支的名称。
#!/bin/bash
git branch | grep -e "^*"
我将此脚本放在一个自定义文件夹(~/.bin)中。该文件夹位于$PATH中。
所以现在,当我在git repo中时,我只需键入git cbr即可打印出当前的分行名称。
$ git cbr
* master
这是因为git命令接受其第一个参数,并尝试运行名为git-arg1的脚本。例如,gitbranch尝试运行名为gitbranch等的脚本。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式