originがgithubのリポジトリだとすると、
git config --add remote.origin.fetch +refs/pull/*/head:refs/remotes/origin/pr/*
でOK.
ただ、これでgit fetch --pruneとかするとすぐ削除してしまう.
これを解決するためには.git/config
を弄る。
多分、以下のような部分を
[remote "origin"]
url = hogehoge
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
以下のように
[remote "origin"]
url = hogehoge
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
fetch = +refs/heads/*:refs/remotes/origin/*
変更すれば、OK.
具体的にはfetchのheadsより前にpullを置けばいい。
以上を勝手にやってくれるshell scriptを書いてる人がいた!!
shell script
当然ながら、これもoriginがgithub repositoryであることを前提としてる。