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 は以下のリンクから見れます.
使い方
git pr {PR番号} という風に実行すれば良い. 例: git pr 73
また, origin以外から取得する場合は git pr {リモートリポジトリ名} {PR番号} とすればできる. 例: git pr remote2 73

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