Open1

PullRequestが溜まっているGithubのリポジトリを、ローカルでPullRequestマージする方法

yunayuna

どんな時に必要?

更新が止まっているGithubリポジトリで、
PullRequestが溜まっている場合があります。

必要なPullRequestが合って
ローカルにリポジトリファイルを落として、そこでPullRequestをマージさせたい時の作業メモです。

作業概要

GitHubで別ブランチからいくつかのオープンなプルリクエスト(PR)をローカルにクローンして、
すべてのPRをマージした状態を作成することができます。以下の手順で行うことができます。

手順

  1. リポジトリをクローンする:

    git clone https://github.com/username/repo.git
    cd repo
    
  2. プルリクエストのブランチを確認:
    GitHub上のリポジトリに移動して、ターゲットのブランチに対するPRを確認します。それぞれのPRには、個別のブランチがあります。

  3. PRブランチをフェッチしてマージする:
    各プルリクエストをローカルに取得してマージします。以下のコマンドを使用して各プルリクエストのブランチをマージできます。

    1. プルリクエストのブランチをフェッチ(まずはリモートの情報を取得):

      git fetch origin pull/ID/head:BRANCH_NAME
      

      ここで、IDはプルリクエストの番号です(例: 12 など)。BRANCH_NAMEは、ローカルに作成するブランチ名です。

    2. フェッチしたブランチをマージする:

      git checkout target-branch  # マージ対象のブランチにチェックアウト(mainにマージしたければ、main)
      git merge BRANCH_NAME       # フェッチしたPRブランチをマージ
      
    3. 上記の手順を必要なプルリクエストの数だけ繰り返します。

  4. コンフリクトの解消:
    マージ中にコンフリクトが発生した場合は、手動で解消してください。

  5. マージした結果の確認:
    マージした結果を確認するために、git loggit status を使って、正しくマージされたかどうかを確認できます。