Re: Checkout previous branch command not working on 2.34.1.400
- From
- Will Beason <willbeason@google.com>
- Date
- Dec 6, 2021, 17:36 UTC
- Message-ID
- <CAO6o7k+hphmVKtZtrJEvkZq7TQv8HRCMBSFQ-5JARK2fRoq4sQ@mail.gmail.com>
- In-Reply-To
- <CAPig+cQr27ra4DTjC1gyZO7YdV81Jq5J3s-LcAf+wePP=+n59g@mail.gmail.com>
I'm going to bet you're absolutely correct. Yeah, the error message could be clearer.
After using "git checkout [branch]" for a while, I reflexively typed "git checkout -" and it worked again.
- Will Beason
On Mon, Dec 6, 2021 at 11:17 AM Eric Sunshine <sunshine@sunshineco.com> wrote:
Show 25 quoted lines
> > On Mon, Dec 6, 2021 at 12:04 PM Will Beason <willbeason@google.com> wrote: > > I typed "git checkout -" > > error: pathspec '-' did not match any file(s) known to git > > > > I expected the previously-working behavior of switching to previous branch to > > work, but it didn't. > > If I recall correctly, for `-` to work it consults the reflog, but if > the reflog has been cleared or expired, it won't be able to determine > the previous branch. For instance, try this: > > % git init foo > % cd foo > % echo data >data > % git add data > % git commit -m data > % git checkout -b other > % git checkout - > % git reflog expire --expire=now --all > % git checkout - > error: pathspec '-' did not match any file(s) known to git > > So, this is probably expected behavior, though the error message isn't > very helpful and perhaps could be improved.