2012-02-10 146 views
28

有沒有辦法從GitHub上的特定分支分叉? ...例如,moodle有許多分支(1.9,2.0 ...等等)。克隆只能執行分支1.9而不是主分支?是否可以將特定分支克隆到我的PC上?github中的分支叉

回答

8

克隆意味着您可以在您的帳戶中創建整個存儲庫的副本,包括所有分支和標籤。但是,無論您喜歡,您都可以自由切換和跟蹤分行。

+0

...甚至可以在稍後刪除分支。 – 2012-02-10 12:52:33

+4

如果整個存儲庫被克隆,那麼在執行'git分支'命令時,它如何顯示主分支?並不是所有在github上顯示的分支? – jan 2012-02-11 07:16:34

+0

你可以做git分支-d 在本地刪除其他人。 – iltempo 2012-02-11 09:06:18

21

我不知道本機的方式,但你能做到以下這幾招:

  1. 叉問題的知識庫(稱作「上游」)GitHub的網站上您的工作空間存在。
  2. 運行GitHub桌面應用程序並將存儲庫克隆到您的PC上。
  3. 使用GitHub桌面應用程序在存儲庫中打開一個shell。 (該git命令不能從默認的PowerShell除非你手動配置。)
  4. 將源代碼庫上游:

    git remote add upstream https://github.com/{user}/{source-repo}.git 
    
  5. 獲取完整的上游資源庫。 (現在,你只需要它的主人分支的副本。)

    git fetch upstream 
    
  6. 使你的文件系統複製你想要的分支,並給它的任何名稱:

    git checkout upstream/{branch-in-question} 
    git checkout -b temporary 
    
  7. 使用發佈您的回購GitHub桌面應用程序。

  8. 在GitHub網站上,打開您的資料庫並點擊'設置'。
  9. 將「默認分支」更改爲「臨時」。 (只需更改下拉菜單,你需要不需要點擊「重命名」按鈕。)
  10. 回到你的存儲庫,轉到'分支'選項卡,現在你可以刪除「主」科。
  11. 刪除您的shell master分支,使新的主分支:

    git branch -d master 
    git branch master 
    git checkout master 
    git -d temporary 
    
  12. 再次,使用GitHub的桌面應用程序發佈回購。

  13. 在GitHub網站上,打開您的資料庫並點擊'設置'。
  14. 將「默認分支」更改回(新)'主'分支。
  15. 回到您的存儲庫,轉到「分支」選項卡,現在您可以刪除「臨時」分支。

這應該是你在找什麼。也許GitHub將在未來提供一種更方便的方式來實現這一點(例如,從項目分支中點擊「叉子」就會導致這種行爲)。

+1

驚人的步驟蝙蝠俠山!兩年後(2015年)有更新/更簡潔的方法嗎? – javadba 2015-06-02 11:22:55

+0

我沒有再做一次...... – Paramaeleon 2015-06-02 12:38:26

+0

我有一個分叉的github存儲庫。在我分叉之後,原始回購所有者創建了一個新的分支。我無法弄清楚如何將該分支複製到我的分支。這些步驟奏效。謝謝。 – 2016-03-17 20:37:04

1

是的,你可以克隆單個分支。例如,您有一個名爲release1.0的分支。如果你想這個分支克隆到你的電腦,然後使用下面的代碼行:

$ git clone [email protected]:git_username/git_repository_example -b release1.0 --single-branch 
+0

這是爲了克隆,而不是分叉。 – Sigfried 2017-10-10 12:25:58

+0

問題提出了這個問題....克隆只能執行分支1.9而不是主分支?是否有可能將特定的分支克隆到我的PC上?請在您評論之前閱讀完整的問題。謝謝。 – 2017-10-11 00:12:39

+0

對不起。你是對的。雖然改變問題的標題會很好。我試過你的解決方案,然後意識到它不會對我的問題有所幫助。 – Sigfried 2017-10-11 00:52:00

0

我使用到位桶,但我敢肯定,這會爲GitHub的正常工作。

  1. 創建一個新的存儲庫
  2. 結帳使用GitExtensions
  3. 點擊一鍵打開推對話框
  4. 目標URL設置爲新的存儲庫
  5. 分支目標設定爲「主」分支

您的新存儲庫將有t他只有一個分支的完整歷史(並不是所有分支都會分叉)。

GitExtensions Push Dialog

1

對於那些誰不喜歡使用命令行工作。下面是使用桌面客戶​​端GitHub的一個簡單的指南:

  1. 點擊GitHub.com回購的叉按鈕:step1

  2. 確保您有desktop client安裝

  3. 點擊這個按鈕:step2

  4. 克隆回購

step3

  • 在桌面客戶端,選擇所需的分支
  • step4

  • 選擇分支你想工作,你就完成了
  • step5

    +0

    不錯的說明指南。 +1 – VonC 2017-06-01 20:21:06

    0

    切換到您在源代碼回購中需要的分支 單擊「叉」。你會得到分手大師和你所在的分支。 我不知道它如何與更多的分支機構合作,但是對於我的需求工作得很好。