Git Won’t Check Out A Path It Autocompleted
It started with not being able to check out a branch. I would see that my colleague had created feature/cute-labels
and usually I can just check out the branch name and git makes a local branch from the remote one and sets it up to track, which is what I expected. But this time, even though the branch name autocompleted:
$ git checkout feature/cute-labels
error: pathspec 'feature/cute-labels' did not match any file(s) known to git.
Weird.
So next I tried to create a branch and set what it tracked:
$ git checkout -b feature/cute-labels
Switched to a new branch 'feature/cute-labels'
$ git branch -u origin/feature/cute-labels
error: Not tracking: ambiguous information for ref refs/remotes/origin/feature/cute-labels
Ambiguous information … interesting. I looked in .git/config
and sure enough I had two remotes which both had the same fetch line:
fetch = +refs/heads/*:refs/remotes/origin/*
We had a problem with our jump host one day and I'd added the https version of the repo as a separate remote but with the same pathspec. Since git didn't know which remote I meant (and can't tell that they are the same thing), it didn't know what to do. This was a weird little problem that's been irritating me for probably a few weeks, so I was glad to understand it and be able to sort it out!
Thank you for this! I’ve been having the same error pop up the past month and it’s been driving me nuts.
All fixed now :)