- 元となるリポジトリをGitHubからクローンしてダウンロード。
- ダウンロードしたワーキングディレクトリを右クリックして、[TortoiseGit]→[Create Branch...]を選択
- 作業用の新しいブランチを作成して切り替える。名前は相手-ブランチ名など(tanakaedu-master)として、[Switch to new branch]にチェックしてOKを押す。
- ワーキングディレクトリを右クリック→[TortoiseGit]→[Pull]
- Arbitrary URLにチェックを入れて、Pull Requestを送信してきたリポジトリのURLを入力
- Remote Branchには、取り出すブランチを選択
- [OK]を押す
CONFLICTの報告が表示されるが、マージは成功する。以下、衝突を解消する。
- ワーキングディレクトリを開いて、びっくりマークのついている衝突ファイルを右クリック→[TortoiseGit]→[Edit conflicts]を選択。
- TortoiseGitMergeが開く。[Theirs]と[Mine]のウィンドウから、必要な行をコピーして、下の[Merged]ウィンドウに貼り付けていく。
- [Merged]ウィンドウに必要なコードを移したら、改行などを調整して仕上げ。
- [Save]を押す。
- 衝突が解消できていたら、[File has no conflicts]ウィンドウが表示されるので、[Mark as resolved(解決にして、衝突を解除する)]を選択。
- TortoiseGitMergeを閉じる。
(TortoiseGitMergeは使いづらいし、見づらいので、WinMergeなどの導入も検討。)
以上で、衝突が解消される。マスターへのマージ→リポジトリへのコミット→GitHubへプッシュをして、全てを解決する。
- ワーキングディレクトリを右クリック→[Commit-><ブランチ名>]
- メッセージを変更するなら変更して[OK]。変更しなくてもよい。
- ワーキングディレクトリを右クリック→[TortoiseGit]→[Switch/Checkout...]
- Branchを[master]にして[OK]→[Close]
- ワーキングディレクトリを右クリック→[TortoiseGit]→[Merge]
- Branchを先ほどマージ用に作ったブランチにして[OK]→[Close]
- ワーキングディレクトリを右クリック→[TortoiseGit]→[Push]
- そのまま[OK]
- 必要であれば、オリジナルのリポジトリのUsernameとパスワードを入力してプッシュを完了する。
- [Close]
以上で、Pull Requestの取り込み完了・・・結構長い・・・。
Pull Requestが取り込まれたら・・・
- Pull Requestを送信した側のワーキングディレクトリを右クリック→[TortoiseGit]→[Pull]
- ワーキングディレクトリを右クリック→[TortoiseGit]→[Push]→[OK]→[Close]
以上でGitHubに反映完了。