W dniu 28.08.2016 o 12:51, Kevin Daudt pisze:
> On Sun, Aug 28, 2016 at 05:58:18PM +0800, ryenus wrote:

>> 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.

What's wrong with simply using 'HEAD' for scripting?

>> 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`?
> Scripts should always rely on plubming commands, never on porcelain, as
> their output will change, and thus, break scripts.

It is not something theoretical; the output of "git branch" for detached HEAD
(aka anonymous / unnamed branch) did change.
> 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.

Note that in some cases current branch is implied, like e.g. in
"@{<n>}" notation.

Jakub Narębski

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to