33

GitHub の特定のブランチからフォークする方法はありますか? … たとえば、moodle には多くのブランチ (1.9、2.0 など) があります。常にマスター ブランチではなく、ブランチ 1.9 のクローンを実行できますか? 特定のブランチを自分の PC に複製することはできますか?

4

9 に答える 9

26

ネイティブの方法はまだわかりませんが、次のレシピに従って実行できます。

  1. 問題のリポジトリ (「アップストリーム」と呼ばれる) を GitHub Web サイトにフォークして、そこのワークスペースに移動します。
  2. GitHub デスクトップ アプリケーションを実行し、リポジトリを PC に複製します。
  3. GitHub デスクトップ アプリケーションを使用して、リポジトリでシェルを開きます。(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 Web サイトでリポジトリを開き、[設定] をクリックします。
  9. 「デフォルト ブランチ」を「一時」に変更します。(ドロップダウン メニューを変更するだけで、 [名前の変更] ボタンをクリックする必要はありません。)
  10. リポジトリに戻り、「ブランチ」タブに移動します。これで、「マスター」ブランチを削除できます。
  11. シェルのマスター ブランチを削除し、新しいマスター ブランチを作成します。

    git branch -d master
    git branch master
    git checkout master
    git -d temporary
    
  12. もう一度、GitHub デスクトップ アプリケーションを使用してリポジトリを公開します。

  13. GitHub Web サイトでリポジトリを開き、[設定] をクリックします。
  14. 「デフォルト ブランチ」を (新しい) 「マスター」ブランチに戻します。
  15. リポジトリに戻り、「ブランチ」タブに移動します。「一時」ブランチを削除できます。

これはあなたが探していたものです。おそらく、GitHub は将来これを行うためのより便利な方法を提供するでしょう (たとえば、プロジェクトのブランチから「Fork」をクリックすると、まさにこの動作になります)。

于 2013-02-14T07:39:47.223 に答える
8

クローンとは、すべてのブランチとタグを含む、アカウント内のリポジトリ全体のコピーを作成することを意味します。ただし、ブランチを自由に切り替えて追跡できます。

于 2012-02-10T12:49:20.273 に答える