Re: Notation for current branch?
- From
Kevin Daudt <me@ikke.info>
- Date
- Aug 28, 2016, 10:51 UTC
- Message-ID
- <20160828105159.GA5477@ikke.info>
- In-Reply-To
- <CAKkAvazQxhtQauSb3MTVhzoK=xWbjMzQLBPQZUpp1n7VMUMJbQ@mail.gmail.com>
On Sun, Aug 28, 2016 at 05:58:18PM +0800, ryenus wrote:
Show 11 quoted lines
> I wonder if there's an easy to use notation to refer to the current branch? > which is expected be friendly to scripting. > > For HEAD, there's @, which is short and concise. > > But for the current branch, it seems one has to either use a not so friendly > plumbing command, or grep/parse the output of `git branch`, since the latter > doesn't even has any option to only print the plain name of the current branch, > or maybe an option can be added to `git branch`? > > Thoughts?
Scripts should always rely on plubming commands, never on porcelain, as their output will change, and thus, break scripts.
To get the current branch name, the best is to use `git rev-parse --symbolic-full-name`[1], which either returns you the current branch name (eg refs/heads/master), or HEAD, when you have a detached HEAD. If you only want the friendly name, add --abbrev-ref, which would then return master.
[1]: git symbolic-ref HEAD would also work, but errors out when you're not on a branch.