Re: Command to list <pattern> Branches on a specific Remote (i.e. select from rtb's)
- Date: Sat, 18 May 2019 20:44:46 +0100
- From: Philip Oakley <philipoakley@xxxxxxx>
- Subject: Re: Command to list <pattern> Branches on a specific Remote (i.e. select from rtb's)
On 18/05/2019 19:37, Ævar Arnfjörð Bjarmason wrote:
Thanks, that's magic. I was also conflating the 'pattern' with a grep
style sub-string search in my exploration.
On Sat, May 18 2019, Philip Oakley wrote:
I'm unsure if there is a command for this.
Currently I have 1600+ remote tracking branches (rtb) for my Git repo
as it covers both git.git and git-for-windows and some other
Finding a specific rtb for a particular remote looks like there ought
to be a simple command ready to do the job, but I haven't found
Is there a command or simple simple invocation of branch, show-ref,
for-each-ref, etc that can be give a branch pattern and remote name to
quickly filter down the list of potential branches to just one or two
git for-each-ref 'refs/remotes/<remote>/<pattern>'
git branch -a -l '<remote>/<pattern>'
The latter will conflate <remote> with any local branches you happen to
have prefixed with <remote>.
The reason this isn't some easy mode in some command is because there's
no hard notion that a given remote "owns" a given set of RTB's. It's
just convention, but they can and do overlap sometimes.
See the logic in 'git remote remove' that needs to decide if a deletion
of a remote should delete its remote tracking refs: 7ad2458fad ("Make
"git-remote rm" delete refs acccording to fetch specs", 2008-06-01)
So, as long as one uses the RTB 'remote name', rather than the remotes
'remote name' it should all be golden.
I'll add the answer to one on the stackoverflow Q&A's I'd looked at. I
hadn't put the branch -a and -l options together.