如何获取Git中当前分支的名称?
当前回答
我有一个名为gitcbr(当前分支)的简单脚本,它打印出当前分支的名称。
#!/bin/bash
git branch | grep -e "^*"
我将此脚本放在一个自定义文件夹(~/.bin)中。该文件夹位于$PATH中。
所以现在,当我在git repo中时,我只需键入git cbr即可打印出当前的分行名称。
$ git cbr
* master
这是因为git命令接受其第一个参数,并尝试运行名为git-arg1的脚本。例如,gitbranch尝试运行名为gitbranch等的脚本。
其他回答
如果您确实希望最后一个分支/标记也在分离的HEAD状态下检出。
git reflog HEAD | grep 'checkout:' | head -1 | rev | cut -d' ' -f1 | rev
使现代化如果你有而且不害怕awk,这会更好。
git reflog HEAD | grep 'checkout:' | head -1 | awk '{print $NF}'
您只需在Linux上的存储库目录中键入命令行(控制台):
$ git status
您将看到一些文本,其中类似于:
...
On branch master
...
这意味着您当前处于主分支。如果此时您正在编辑任何文件,并且该文件位于同一本地存储库(包含受Git版本控制管理的文件的本地目录)中,则您正在编辑该分支中的文件。
只需在~/.bash_profile中添加以下行:
branch_show() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(branch_show)\[\033[00m\] $ "
这样,您可以在Terminal中拥有当前分支名称
由Coderwall.com提供
一个简单的黑客可以
git branch|grep "*"
输出:
* <current branch>
编辑:
了解当前分支的另一种方法
git status|head -1
On branch <current branch name>
要仅显示当前分支的名称,请执行以下操作:
git rev-parse --abbrev-ref HEAD
参考:仅显示Git中的当前分支
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的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日志日期格式