JUNのブログ

JUNのブログ

活動記録や技術メモ

GitHub PullRequest を簡単にローカルにfetchできる設定

github の PullRequest を簡単にローカルに落とせる設定を書いたのでメモ.

設定

~/.gitconfig に以下の内容を追加する

[alias]
  pr = "!f() { if [ !${2+x} ]; then git fetch origin pull/${1}/head:pr/${1} ; else git fetch ${2} pull/${1}/head:pr/${1} ; fi }; f"

何をしているかというと,

  • 引数が1つの場合は origin から${1}番プルリクエストを pr/${1} という名前でfetchする.
  • 引数が2つの場合は ${2} からfetchする. それ以外は引数が1つの場合と一緒.

ホントは引数1つの場合, origin ではなく デフォルトのリモートリポジトリにしたかったんだけど, デフォルトのリモートリポジトリ名の取得方法がわからんのでな... (.git/config を解析して情報取り出せばいけると思うけど)

自分の.gitconfig は以下のリンクから見れます.

github.com

使い方

git pr {PR番号} という風に実行すれば良い. 例: git pr 73

また, origin以外から取得する場合は git pr {リモートリポジトリ名} {PR番号} とすればできる. 例: git pr remote2 73

f:id:JUN_NETWORKS:20210430214029p:plain

参考にしたサイト

qiita.com

参考にしたというか, この記事のコマンドを簡単に使えるようにした感じ.