Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TortoiseGit clone remote branch

I am trying to come to terms with Git as I recently started using it (long time Subversion user) and I cannot find a way to clone a remote branch with TortoiseGit.

I have created a local branch which I pushed to GitHub, but when I try to clone (checkout) this remote branch I cannot find any way to do it.

How can I do it?

like image 520
Thomas Avatar asked Oct 03 '12 13:10

Thomas


4 Answers

As stated by linquize, this functionality isn't directly provided by TortoiseGit. If you really want to use it though, you can:

  • Clone the repository that the branch belongs to (right-click menu -> Git Clone...). This will also checkout the working copy created by clone to HEAD

TortoiseGit clone window

  • Switch the working copy from HEAD to the desired branch/tag (right-click menu -> TortoiseGit -> Switch/Checkout)

TortoiseGit switch window

This will take a bit longer than from the command line, because the initial clone command implies a checkout to head, which you then have to switch back to the branch/tag you want.

like image 77
sbell Avatar answered Oct 06 '22 08:10

sbell


It's available in Git clone window: enter image description here

like image 21
Vishwajeet Avatar answered Oct 06 '22 06:10

Vishwajeet


(This is as of TortoiseGit v1.8.3.0.)

Do a "Git -> Git Sync" first in the TortoiseGit context menu. (Note: you may have to hold Shift down as you right click, depending on how you have Git Sync set to show up in your context menu.)

There will be a button in there at the bottom left called "Remote Update". Do that, and it will pull down all of the new remote branches that are not present in your local repository.

Remote Update

After that, you should be able to do "Git -> Git Checkout" as normal, and the branch you want will show up in the list.

I should note that this same procedure can be used to inform TortoiseGit about new branches that have been created in the remote repository, whether you originally created them or not.

like image 29
metaforge Avatar answered Oct 06 '22 06:10

metaforge


Unfortunately, the current TortoiseGit (TortoiseGit 1.7.13.0) can not clone a specific branch. You may ask a feature request.

The workaround:

  1. Use a manual Git command, e.g.: git clone --recursive --branch 2.x-1.0
  2. Use another Git GUI, e.g. SmartGit

Another way is to clone all branches then delete unwanted branches, but even this is not a good solution especially if you have many branches with many tags (and different file-names), but this is the workaround so far until TortoiseGit provides it. I choose to clone a branch manually using the command line. This question only happened for Windows users because the Git version of Linux already provides the --branch options.

like image 44
Wendy William Avatar answered Oct 06 '22 06:10

Wendy William