Re: Automagic `git checkout branchname` mysteriously fails
- From
Kevin Daudt <me@ikke.info>
- Date
- Oct 14, 2016, 20:58 UTC
- Message-ID
- <20161014205842.GA6350@ikke.info>
- In-Reply-To
- <CACPiFC+8+wVEcDt9JZgTW1dwCCFKszyXD6ysDxNQorcNkom7Lw@mail.gmail.com>
On Fri, Oct 14, 2016 at 04:25:49PM -0400, Martin Langhoff wrote:
Show 26 quoted lines
> In a (private) repo project I have, I recently tried (and failed) to do: > > git checkout v4.1-support > > getting a "pathspec did not match any files known to git" error. > > There's an origin/v4.1-support, there is no v4.1-support "local" > branch. Creating the tracking branch explicitly worked. > > Other similar branches in existence upstream did work. Autocomplete > matched git's own behaviour for this; where git checkout foo woudn't > work, autocomplete would not offer a completion. > > Why is this? > > One theory I have not explored is that I have other remotes, and some > have a v4.1-support branch. If that's the case, the error message is > not very helpful, and could be improved. > > git --version > 2.7.4 > > DWIM in git is remarkably good, even addictive... when it works :-) > > cheers, >
Correct, this only works when it's unambiguous what branch you actually mean.
if remote_a/branch and remote_b/branch exists, git cannot guess which one you actually mean.
The message you get is because git checkout can be followed by several things. Either a branch/commit or a file. Git complaining it cannot find a file with that name is because it has exhausted all other options.
I do agree that message could be a bit more clear.