読者です 読者をやめる 読者になる 読者になる

MANA-DOT

PIXEL ART, PROGRAMING, ETC.

すべてのリポジトリでGithubのpull requestをfetchする設定

git

すべてのリポジトリでgithubのpull requestをfetchする設定

githubのプルリクエストのコミットをローカルにfetchする方法はよく知らてていますが (知らない人は是非設定をオススメします。特にコードレビューでレビュー相手がfork先からプルリクエストを出している場合でも対象コミットを取得できるため便利です)、 この方法はリポジトリごとに毎回設定する必要があり多少面倒です。

そこでこの設定を、

git config --global --add remote.origin.fetch '+refs/pull/*:refs/remotes/pr/*'`

としてグローバルに設定してみたところ、普通に動きすべてのローカルリポジトリでプルリクエストをfetchしてくれるようになりました。

便利です。

気になること

remoteの設定をglobalに記述するのはあまり聞いたことがなく若干の不安はあります。 この状態でリポジトリremote.origin.fetch の値を取ると、

>> git config --get-all remote.origin.fetch
+refs/pull/*:refs/remotes/pr/*
+refs/heads/*:refs/remotes/origin/*

となっており、リポジトリのconfigに記述した時と同じになっているため、問題ないのかな?とは思います。 今のところはGithub以外のリポジトリへのfetchも問題なく快適です。

もし詳しい方がいれば、補足していただけると助かります。

参考リンク