2012-10-03 400 views
4

我想與git一樣,因爲我最近開始使用它(長時間顛覆用戶),我找不到用TortoiseGit克隆遠程分支的方法。TortoiseGit克隆遠程分支

我創建了一個本地分支,我推到github上,但是當我嘗試克隆(結賬)這個遠程分支我找不到任何辦法做到這一點

任何幫助嗎?

由於

+1

您通常不克隆遠程分支,而是克隆整個存儲庫。一旦被克隆,你可以檢出該分支。另外,雖然你特別提到了龜,但如果你不介意掉到命令行上,你可以執行[this command](http://stackoverflow.com/a/9920956/164966)。 – R0MANARMY

+0

git clone -b branch_name。目前(v1.7.13),沒有TortoiseGit提供的這樣的功能。 – linquize

回答

13

如上所述通過linquize,該功能不是直接由TortoiseGit提供。如果你真的想使用它,你可以:

  • 克隆分支所屬的存儲庫(右鍵菜單 - > Git克隆...)。這也將籤通過克隆創建的工作副本HEAD

TortoiseGit clone window

  • 交換機從頭部工作拷貝到所需的分支/標籤(右鍵菜單 - > TortoiseGit - >交換機/結帳)

TortoiseGit switch window

這將需要一個比特比在命令行更長的時間,因爲初始克隆命令意味着checkou頭,然後你必須切換回你想要的分支/標籤。

+9

請注意,當前版本的TortoiseGit在克隆對話框中確實有一個「分支」輸入 - 在此輸入中輸入除去分支的名稱將直接進行檢查。 –

+0

@ mindplay.dk好喊! – Chuck

1

不幸的是,目前的TortoiseGit(TortoiseGit 1.7.13.0)無法克隆特定的分支。你可能會問功能請求。

周圍的工作:

  1. 使用手動GIT中命令,例如:GIT中克隆--recursive --branch 2.x的-1.0
  2. 使用另一個GIT中的GUI,例如SmartGit

另一種方式是複製所有分支,然後刪除不需要的分支,即使這不是一個很好的解決方案,特別是如果你有很多標籤(和不同的文件名)許多分支,但這是解決辦法,到目前爲止,直到TortoiseGit提供它。我選擇使用命令行手動克隆分支。這個問題只發生在WINDOWS用戶上,因爲git版本的Linux已經提供了--branch選項。

+0

「另一種方法是克隆所有分支」 - 如何?當在TortoiseGit 2.3.0.0的* Clone *窗口中取消選中* branch *複選框時,我仍然只是在本地獲得* master *分支,其他所有分支都可用作遠程分支。 –

7

(這是因爲TortoiseGit v1.8.3.0的)

做一個 「混帳 - > Git的同步」 首先在龜上下文菜單。 (注意:您可能必須按住右鍵單擊,具體取決於Git Sync設置爲在上下文菜單中顯示的方式)

左下角會出現一個名爲「Remote Update 」。這樣做,它會拉下所有不在您本地存儲庫中的新遠程分支。

Remote Update

之後,你應該能夠做到「混帳 - > Git的結帳」爲正常,和你想要的分支將在列表中顯示出來。

需要注意的是,可以使用相同的過程來通知TortoiseGit關於在遠程存儲庫中創建的新分支,無論您是否最初創建它們。

0

就此更新:

如果你只需要一個特定的分支,可以SVN結帳直接,時下。複製該分支的樹形URL,即https://github.com/USERNAME/REPONAME/tree/BRANCHNAME,並用branches替換tree,這樣就得到了https://github.com/USERNAME/REPONAME/branches/BRANCHNAME

此URL可用於檢出特定分支。