# Fwd: Issue with Git Branch

5 messages from 2020-01-13 to 2020-01-13. Participants: Jude Guan Wang, Taylor Blau, SZEDER Gábor.
Thread: https://gitlist.dev/t/52623

## Jude Guan Wang, 2020-01-13 00:01

Subject: Fwd: Issue with Git Branch
Message-ID: <29742805-4992-47E6-9889-F55F5EFBBFF1@clicktherapeutics.com>
URL: https://gitlist.dev/e/29742805-4992-47E6-9889-F55F5EFBBFF1%40clicktherapeutics.com
In-Reply-To: <56F9DC91-740F-47C7-9C2A-B6B1EC3A12B6@clicktherapeutics.com>

```
Hi, all:
	I noticed something weird with my git command. In my local environment I seem to have a branch named `-D`:

	And I don’t remember how I was able to create a branch like that. I tried to do git branch -D/-d this branch but seems not working. I’m assuming the branch infos were kept in .git folder so my question is if there’s anyway I could remove this invalid branch from that folder? My git version is 2.24.0. Thanks for any help in advance.


```

## Taylor Blau, 2020-01-13 00:11

Subject: Re: Fwd: Issue with Git Branch
Message-ID: <20200113001143.GA13099@syl.local>
URL: https://gitlist.dev/e/20200113001143.GA13099%40syl.local
In-Reply-To: <29742805-4992-47E6-9889-F55F5EFBBFF1@clicktherapeutics.com>

```
Hi Jude,

On Sun, Jan 12, 2020 at 07:01:04PM -0500, Jude Guan Wang wrote:
> Hi, all:
> 	I noticed something weird with my git command. In my local
> 	environment I seem to have a branch named `-D`:
>
> 	And I don’t remember how I was able to create a branch like that. I
> 	tried to do git branch -D/-d this branch but seems not working. I’m
> 	assuming the branch infos were kept in .git folder so my question is
> 	if there’s anyway I could remove this invalid branch from that
> 	folder? My git version is 2.24.0. Thanks for any help in advance.

You can delete oddly-named branches by passing the end-of-options marker
to 'git branch', like so:

  $ git branch -D --end-of-options -D

(In fact, '--end-of-options' isn't strictly necessary here, and using
'--' as in 'git branch -D -- -D' will work as well).

If you do find a reproducible way to create branches named '-D' or
similar, please do let us know, as these are not intended to be valid
branch names in general.

Thanks,
Taylor

```

## SZEDER Gábor, 2020-01-13 00:42

Subject: Re: Fwd: Issue with Git Branch
Message-ID: <20200113004235.GI32750@szeder.dev>
URL: https://gitlist.dev/e/20200113004235.GI32750%40szeder.dev
In-Reply-To: <20200113001143.GA13099@syl.local>

```
On Sun, Jan 12, 2020 at 04:11:43PM -0800, Taylor Blau wrote:
> On Sun, Jan 12, 2020 at 07:01:04PM -0500, Jude Guan Wang wrote:
> > 	I noticed something weird with my git command. In my local
> > 	environment I seem to have a branch named `-D`:
> >
> > 	And I don’t remember how I was able to create a branch like that.

> If you do find a reproducible way to create branches named '-D' or
> similar, please do let us know, as these are not intended to be valid
> branch names in general.

  $ git update-ref refs/heads/-D master
  $ git branch |head -n1
    -D


```

## Taylor Blau, 2020-01-13 00:48

Subject: Re: Fwd: Issue with Git Branch
Message-ID: <20200113004814.GA15236@syl.local>
URL: https://gitlist.dev/e/20200113004814.GA15236%40syl.local
In-Reply-To: <20200113004235.GI32750@szeder.dev>

```
On Mon, Jan 13, 2020 at 01:42:35AM +0100, SZEDER Gábor wrote:
> On Sun, Jan 12, 2020 at 04:11:43PM -0800, Taylor Blau wrote:
> > On Sun, Jan 12, 2020 at 07:01:04PM -0500, Jude Guan Wang wrote:
> > > 	I noticed something weird with my git command. In my local
> > > 	environment I seem to have a branch named `-D`:
> > >
> > > 	And I don’t remember how I was able to create a branch like that.
>
> > If you do find a reproducible way to create branches named '-D' or
> > similar, please do let us know, as these are not intended to be valid
> > branch names in general.
>
>   $ git update-ref refs/heads/-D master
>   $ git branch |head -n1
>     -D

I was assuming that Jude had gotten the ref to appear by using 'git
branch' alone, i.e., without the help of 'git update-ref' or 'cp
.git/refs/heads/{master,-D}'.

Thanks,
Taylor

```

## SZEDER Gábor, 2020-01-13 11:26

Subject: Re: Fwd: Issue with Git Branch
Message-ID: <20200113112621.GJ32750@szeder.dev>
URL: https://gitlist.dev/e/20200113112621.GJ32750%40szeder.dev
In-Reply-To: <20200113004814.GA15236@syl.local>

```
On Sun, Jan 12, 2020 at 04:48:14PM -0800, Taylor Blau wrote:
> On Mon, Jan 13, 2020 at 01:42:35AM +0100, SZEDER Gábor wrote:
> > On Sun, Jan 12, 2020 at 04:11:43PM -0800, Taylor Blau wrote:
> > > On Sun, Jan 12, 2020 at 07:01:04PM -0500, Jude Guan Wang wrote:
> > > > 	I noticed something weird with my git command. In my local
> > > > 	environment I seem to have a branch named `-D`:
> > > >
> > > > 	And I don’t remember how I was able to create a branch like that.
> >
> > > If you do find a reproducible way to create branches named '-D' or
> > > similar, please do let us know, as these are not intended to be valid
> > > branch names in general.
> >
> >   $ git update-ref refs/heads/-D master
> >   $ git branch |head -n1
> >     -D
> 
> I was assuming that Jude had gotten the ref to appear by using 'git
> branch' alone, i.e., without the help of 'git update-ref' or 'cp
> .git/refs/heads/{master,-D}'.

On a somewhat related note, while trying whether I could
"inadvertently" create such a branch with gitk I stumbled upon this
bit of weirdness:

  $ git rev-parse v2.24.0^{commit}
  da72936f544fec5a335e66432610e4cef4430991
  $ git branch da72936f544fec5a335e66432610e4cef4430991 v2.24.0
  $ gitk -1 v2.24.0

(While starting up gitk might show a popup warning about the branch
with 40 hexdigit name, close it.)

So now gitk displays a commit with the v2.24.0 tag and the da7293...
branch pointing to it.  Right click on the commit's subject line,
select "Create new branch" from the context menu.  Enter "-D" as the
name of the new branch, and click Create.  Now gitk displays a "-D"
branch pointing to the same commit as well, but it's only a display
thing, as it did not actually create that branch, because it
carelessly run the 'git branch -D da7293...' command...  After
refreshing with F5 it won't display the da7293... and "-D" branches.


```
