2013年5月12日
pullreqを別ブランチにマージしたいとかsquash mergeしたいとき
以下のようにして、git fetch-pullsを登録しておけばpullreqの内容を手元に持ってこれるので、手元でmergeしてpushすれば良い。
git config alias.fetch-pulls = fetch origin +refs/pull/*:refs/remotes/pull/*
— Tatsuhiko Miyagawaさん (@miyagawa) 2012年12月20日
何らかの形でmergeさればpullreqも自動的に閉じるようになっています。(場合によってはcontributorにpullreqしてもらった人が表示されなくて悲しい思いをしたりはする)
pullreqを別ブランチにマージしたいケースとしては、例えば、failするテストケースだけをpullreqしてもらったりした場合に、それをmasterにcommitしたくないよね、的なやつです。
squash mergeとかも気にする人に対して、pullreq時に「commitまとめてくれ」とか言われたら「そっちでsquash mergeしてくれ」って言えるのが良いと思います。
なので、勿論限度はありますが、汚いcommit logのbranchからpullreq送っても良いし、コケるだけのテストケースをpullreqするのもいいんじゃねーのって話です。少なくとも僕はwelcomeです。