I'm using the below command to clone one branch:
git clone user@git-server:project_name.git -b branch_name --single-branch /your/folder
Now I want to check out another branch from the server. I tried the below command and it didn't work
git checkout another_branch
After cloning a single branch, how can I clone/checkout/pull/fetch another branch?
Besides Mureinik's answer—which is good for some "one-off" / short-term work cases—you can also use git remote to add additional branches, or update your single-branch clone to an all-branch clone:
git remote set-branches --add origin another-branch
After this, git fetch origin will create the remote-tracking name origin/another-branch, which will allow git checkout another-branch to invoke the --guess mode to create your (local) branch name another-branch from your remote-tracking name origin/another-branch.
To de-single-branch-ize a clone, use:
git remote set-branches origin "*"
(followed by git fetch as usual).
Note that whether you need to quote the asterisk depends on your command-line-interpreter, but in general it's safe to do it.
You can fetch another remote branch by specifying it after the remote name in a git fetch call:
git fetch origin another_branch
Once it's fetched, you'll find it in the FETCH_HEAD, and an use that to create a local branch:
git checkout FETCH_HEAD -b another_branch
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With