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
参考にしたサイト
参考にしたというか, この記事のコマンドを簡単に使えるようにした感じ.