如何获取Git中当前分支的名称?


当前回答

可以在工作目录中使用gitbash命令如下

git status -b

它会告诉你你在哪个分支机构有许多有用的命令

-s

--短路,短路以短格式输出。

-b级--分支,分支以短格式显示分支和跟踪信息。

--瓷器[=]为脚本提供易于解析的输出格式。这与短输出类似,但无论用户配置如何,在Git版本中都会保持稳定。详见下文。

version参数用于指定格式版本。这是可选的,默认为原始版本v1格式。

--长的,长的以长格式给出输出。这是默认设置。

-五--冗长的,冗长的除了已更改的文件名之外,还显示要提交的文本更改(例如,像gitdiff-cached的输出)。如果两次指定了-v,那么还将显示工作树中尚未暂存的更改(例如,像gitdiff的输出)。

其他回答

我有一个名为gitcbr(当前分支)的简单脚本,它打印出当前分支的名称。

#!/bin/bash

git branch | grep -e "^*"

我将此脚本放在一个自定义文件夹(~/.bin)中。该文件夹位于$PATH中。

所以现在,当我在git repo中时,我只需键入git cbr即可打印出当前的分行名称。

$ git cbr
* master

这是因为git命令接受其第一个参数,并尝试运行名为git-arg1的脚本。例如,gitbranch尝试运行名为gitbranch等的脚本。

您还可以在当前项目的.git目录中看到当前分支的名称。

在终端中键入命令:open.git/HEAD输出文件包含当前分支的名称ref:refs/heads/{current_working_branch}

git branch -l

这将列出所有本地分支机构,当前分支机构以绿色标记并打印

使用早期的想法;假设sha1为40个字符;和跟踪引用(是的,应该删除调试打印行:-):

git reflog | awk '
$3 == "checkout:" && (sha == "" || sha == $1 ) {
  from=$(NF - 2)
  to=$NF
  print from, to, length(from) > "/dev/stderr"
  if (length(from) != 40) { print from ; exit; }
  sha=substr(from, 1, 7)
  print sha > "/dev/stderr"
}
'

给出原始输出:

$ git status
HEAD detached at 147049c
[...]
$ ./gime-branch.sh
a47be8d2167641088b66bf8f5c2bf7d3da0c642c HEAD^ 40
a47be8d
master HEAD^ 6
master

我会尝试以下方法之一:

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是我的分支的名称。