如何确定我在git中签出的分支/标签?

时间:2012-03-25 05:06:58

标签: git branch tagging

我使用git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git w/克隆我的来源。然后,我通过git checkout <tag name>git checkout origin/REL<release number>指定特定的分支/代码。有时我会忘记我所在的分支或标签。

在SVN中,我会做svn info来确定我正在使用的分支/标记(我意识到git对branchtag有不同的定义,但就我的目的而言是相同的)。

如何确定我所使用的分支/标记?

4 个答案:

答案 0 :(得分:5)

git branch

告诉你你所在的分支(使用*标记)。

标签只是修订版的名称,因此Git不会告诉您标记符号,但您可以使用git name-rev HEAD来了解它可能是什么。

答案 1 :(得分:2)

当前分支在*的输出中标有git branch。例如:

$ git branch
  branch1
* branch2
  master

答案 2 :(得分:0)

如果您使用bash shell,则can use __git_ps1 in your bash prompt显示此信息,例如:

[me@myhost:~/code/myproject] (master)$ ls

git-completion.bash下载到~/.git-completion.bash

然后在~/.bashrc文件中添加

source ~/.git-completion.bash

然后将PS1值设置为包含$(__git_ps1 "(%s)")的内容,例如:

PS1="[\u@\h:\w]\$(__git_ps1)\\$ "

答案 3 :(得分:0)

  

如何确定我在哪个分支/标签上?

首先,since Git 2.22 (Q2 2019),您有git branch --show-current,它直接显示您当前的已签出分支。

第二,如果您位于已检出的工作树(created with git worktree add)中,则不会显示任何内容

为此,请检查Git 2.23(Q3 2019),其“ git branch --list”显示了在其他工作树中检出的分支,这些工作树连接到以“ +”为前缀的同一存储库,类似于显示当前已签出分支的方式 前面带有“ *”。

示例:

git branch in Git 2.23b4

请参见commit 6e93814commit ab31381commit 2582083Nickolai Belakovski (``)(2019年4月29日)。
(由Junio C Hamano -- gitster --commit 99eea64中合并,2019年7月9日)

  

branch:在详细输出中添加worktree信息

     

显示链接的工作树中检出的参考的工作树路径

git branch documentation现在指出:

  

当前分支将以绿色突出显示并标有星号。
  在链接的工作树中签出的所有分支将以青色突出显示并标有加号。