如何获取Git中当前分支的名称?
当前回答
#!/bin/bash
function git.branch {
br=`git branch | grep "*"`
echo ${br/* /}
}
git.branch
其他回答
在分离头上返回分支名称或SHA1:
git rev-parse --abbrev-ref HEAD | grep -v ^HEAD$ || git rev-parse HEAD
这是@dmaestro12答案的简短版本,没有标记支持。
git branch | grep -e "^*" | cut -d' ' -f 2
将仅显示分支名称
我有一个名为gitcbr(当前分支)的简单脚本,它打印出当前分支的名称。
#!/bin/bash
git branch | grep -e "^*"
我将此脚本放在一个自定义文件夹(~/.bin)中。该文件夹位于$PATH中。
所以现在,当我在git repo中时,我只需键入git cbr即可打印出当前的分行名称。
$ git cbr
* master
这是因为git命令接受其第一个参数,并尝试运行名为git-arg1的脚本。例如,gitbranch尝试运行名为gitbranch等的脚本。
git log
此命令将在顶部显示当前分支名称的提交列表。
如果您确实希望最后一个分支/标记也在分离的HEAD状态下检出。
git reflog HEAD | grep 'checkout:' | head -1 | rev | cut -d' ' -f1 | rev
使现代化如果你有而且不害怕awk,这会更好。
git reflog HEAD | grep 'checkout:' | head -1 | awk '{print $NF}'
推荐文章
- 在多个阶段条目的git中出现致命错误
- Git合并错误“提交不可能,因为你有未合并的文件”
- Git推送错误:拒绝更新签出的分支
- 撤销一个合并拉请求?
- Git -dir没有正常工作
- 密码身份验证暂时被禁用,作为停电的一部分。请改用个人访问令牌
- 如何使Sublime Text成为Git的默认编辑器?
- 我怎么能在' git日志'中显示分支的名称?
- Subversion中的主干、分支和标签是什么?
- 用新的.gitignore文件重新同步git repo
- 如何正确地关闭一个功能分支在Mercurial?
- 如何预览git-pull?
- 如何删除git历史记录中的特定修订?
- 如何获得Git存储库中的Git存储库名称?
- 当git说它正在“解析delta”时,它实际上在做什么?