Reputation: 13191
I clone my source using git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git w/
. Then I specify a specific branch/tag by doing git checkout <tag name>
or git checkout origin/REL<release number>
. Sometimes I forget what branch I'm on.
In SVN I would do a svn info
to figure out what branch I'm using.
How do I determine what branch/tag I am on?
Upvotes: 10
Views: 8499
Reputation: 148
git branch
using this command tells you at what branch you are by an *
marker.
Upvotes: 0
Reputation: 424
Why not consider using a nice prompt for your shell?
Starship for Bash or Oh My Zsh for Zsh, or several superb ones are out there.
I'm in love with starship personally :)
https://github.com/CrazyOptimist/dotfiles
You will keep track of more than git branch info once you adopt one.
Upvotes: 0
Reputation: 338
Some sed and regex magic:
git reflog | grep "checkout: moving from" | sed -n '1p' | sed -e 's/^[[:alnum:]]\+ HEAD@{[[:digit:]]\+}: checkout: moving from \([^[:space:]]\+\) to \([^[:space:]]\+\)$/\2/'
Upvotes: 0
Reputation: 1323223
How do I determine what branch/tag I am on?
First, since Git 2.22 (Q2 2019), you have git branch --show-current
which directly shows you your current checked out branch.
Second, it won't show anything if you are in a checked out worktree (created with git worktree add
)
For that, check Git 2.23 (Q3 2019), with its "git branch --list
" which learned to show branches that are checked out in other worktrees connected to the same repository prefixed with '+
', similar to the way the currently checked out branch is shown
with '*
' in front.
Example:
See commit 6e93814, commit ab31381, commit 2582083 (29 Apr 2019) by Nickolai Belakovski (``).
(Merged by Junio C Hamano -- gitster
-- in commit 99eea64, 09 Jul 2019)
branch
: addworktree
info on verbose outputTo display worktree path for refs checked out in a linked worktree
The git branch
documentation now states:
The current branch will be highlighted in green and marked with an asterisk.
Any branches checked out in linked worktrees will be highlighted in cyan and marked with a plus sign.
Upvotes: 3
Reputation: 169535
If you use the bash shell, you can use __git_ps1
in your bash prompt to show this, for example:
[me@myhost:~/code/myproject] (master)$ ls
Download git-completion.bash
to ~/.git-completion.bash
Then in your ~/.bashrc
file, add
source ~/.git-completion.bash
Then set your PS1
value to something including $(__git_ps1 "(%s)")
, something like:
PS1="[\u@\h:\w]\$(__git_ps1)\\$ "
Upvotes: 0
Reputation: 526523
git branch
tells you what branch you're on (with a *
marker).
Tags are just names for revisions, so Git won't tell you that you're "on" a tag, but you can use git name-rev HEAD
to get a sense for what it might be.
Upvotes: 13
Reputation: 224844
The current branch is marked with a *
in the output of git branch
. Example:
$ git branch
branch1
* branch2
master
Upvotes: 5