I have cloned a git repository.
This repository has a remote branch something like -feature-abc.
When I type git checkout -feature-abc, I get:
error: unknown switch `e' Any idea how to checkout this branch?
I have cloned a git repository.
This repository has a remote branch something like -feature-abc.
When I type git checkout -feature-abc, I get:
error: unknown switch `e' Any idea how to checkout this branch?
Try using this syntax:
git checkout -- -feature-abc The double hyphen syntax should help git separate the command options from the actual branch name parameter, as I explained before in "Deleting a badly named git branch".
If that doesn't work, you can follow the recipe suggested in "How do I rename a local Git branch?"
Go into your working copy's .git/refs/heads, find the filename "-dumb-name", get the hash of the branch. Then this will check it out, make a new branch with a sane name, and delete the old one.
- Go into your working copy's
.git/refs/heads,- find the file named "
-feature-abc",- get the hash of the branch (
catthe file).- Then check it out, make a new branch with a sane name, and delete the old one.
git checkout {hash} git checkout -b brilliant-name git branch -d -- -dumb-name Finally I am able to get things working based on VonC's Answer.
Solution 1:
git checkout -b feature-abc origin/-feature-abc
Solution 2:
- Go into your working copy's
.git/refs/remotes/origin,- find the file named "
-feature-abc",- get the hash of the branch (
catthe file),- Then check it out, make a new branch with a sane name,
- Make new branch track remote branch.
git checkout {hash} git checkout -b feature-abc git branch --set-upstream-to=origin/-feature-abc feature-abc