2014年10月30日木曜日

GitHubでプルリクエストがマージされた後にすること

GitHubで初めてプルリクエストを送ってみました(・∀・)

少しでも、fork元のリポジトリに貢献できるって嬉しいですね。初めての快感です。

送ったプルリクエストは早速マージしてもらったのですが、その後、自分の作業用ブランチやforkした後の自分のリポジトリって、どのように処置したらいいの?と戸惑いました。次回またそうならないために忘備録としてメモ。


1. ローカルのmasterへcheckout

変更作業を開始する前の、forkしてきた初期のステータスを参照している段階へ戻ります。

$ git checkout master


2. ローカルの作業用ブランチを削除

必要なくなったローカルの作業用ブランチを削除します。なんやかんや聞かれても面倒なので、-Dオプションを付けて、強制的に削除してしまいます。

$ git branch -D fixTypo

必要ないブランチが複数ある場合は、それぞれ削除していきます。

ローカルにある、プルリクエストを送るために使ったブランチも、削除します。


3. プルリクエスト済みのGitHub上にあるリモートブランチを削除

$ git push origin :fixTypo


4. ローカルでfork元のリポジトリからプル

ここから先はSourceTreeで作業しました。


fork元のリポジトリからプルを実行します。

プルする時に「プルする元のリポジトリ」をGitHub上の自分のリポジトリではなく、fork元のリポジトリを指します。そのために、プルダウンをクリックして、「カスタム」を選択して、パスを変更します。

単に変更内容を吸いたいだけなので、「マージしてコミットする」などのチェックボックスは全てオフにしておく方が無難です。

fork元は、自分が送ったプルリクエストをマージして更新済みなので、プルが済むと、自分が編集を始める前の状態との差分が出てきます。


5. GitHub上の自分のリモートリポジトリへプッシュ

ローカルのmasterへプルした、最新のfork元のリポジトリの内容を、リモートのGitHub上の自分のリポジトリへプッシュします。


これで、fork元のリポジトリの状態と、GitHub上の自分のリポジトリの状態とが一致します。




もう、このリポジトリはwatchしないなという場合は、リポジトリを削除してもいいと思いますが、なにかしらまだチェックしておきたいかもという場合は、自分のリポジトリが古いバージョンをさしたままにならないようにプルしておくといいと思います。