I am new to git version control and I dont know how to clone / pull a specific branch of a repo . Trying to get the branch master
of the project, but it defaults to
Please try like this :
git clone --single-branch --branch <branchname> <url>
replace <branchname>
with your branch and <url>
with your url.
url will be like http://username@git.test.com:portno/yourrepo.git
.
To clone a particular branch in a git repository
- Command: git clone "repository_url" -b "branch_name"
- Example: git clone https://gitlab.com/amm.kazi/yusufoverseas.git -b routes
You can use the following flags --single-branch
&& --depth
to download the specific branch and to limit the amount of history which will be downloaded.
You will clone the repo from a certain point in time and only for the given branch
git clone -b <branch> --single-branch <url> --depth <number of commits>
--[no-]single-branch
Clone only the history leading to the tip of a single branch, either specified by the
--branch
option or the primary branch remote’sHEAD
points at.Further fetches into the resulting repository will only update the
remote-tracking
branch for the branch this option was used for the initial cloning. If the HEAD at the remote did not point at any branch when--single-branch
clone was made, no remote-tracking branch is created.
--depth
Create a shallow clone with a history truncated to the specified number of commits
You may try this
git clone --single-branch --branch <branchname> host:/dir.git
I don't think you fully understand how git by default gives you all history of all branches.
git clone --branch master <URL>
will give you what you want.
But in fact, in any of the other repos where you ended up with test_1
checked out, you could have just done git checkout master
and it would have switched you to the master branch.
(What @CodeWizard says is all true, I just think it's more advanced than what you really need.)
a git repository has several branches. Each branch follows a development line, and it has its origin in another branch at some point in time (except the first branch, typically called master
, that it starts as the default branch until someone changes, what almost never happens)
If you are new with git, remember those 2 fundamentals. Now, you just need to clone the repository, and it will be in some branch. if the branch is the one you are looking for, awesome. If not, you just need to change to the other branch - this is called checkout. Just type git checkout <branch-name>
In some cases you want to get updates for a specific branch. Just do git pull origin <branch-name>
and it will 'download' the new commits (changes). If you didn't do any changes, it should go easy. If you also introduced changes on that branches, conflicts may appear. let me know if you need more info on this case also