黒毛和牛モモバラ切り落し100g298円

iPhoneアプリを作ってます。リリースノートとかごにょごにょとか用ブログです。

はじめてgithubでpull requestしてみたら微妙にハマったのでメモ

昨晩githubでpull requestを送ったらすぐマージしてもらえたので(詳しくはこちら)ちょっと嬉しかったりしてます。今回はじめてgithubでpull requestしたのですが思ってたより時間がかかったのでメモっとこうと思います。

pull requestのおおまかな手順

具体的な手順はgithub本家のFork A RepoUsing Pull Requestsに書いてるとおりでして、だいたい以下のような感じになります。コマンドレベルの操作方法についてはgithubの手順を見てください。

  1. github上でforkする
  2. forkした(自分の)リポジトリをclone
  3. fork元のmasterを追跡するためのupstream(ブランチ?)をadd
  4. pull request用ブランチを作成して修正してcommit
  5. pull request用ブランチをgithubにpush
  6. github上でpull request用ブランチを開きcompare & pull request

ハマったところ

pull requestを送る前にログを一つにした方が良いとGitHubへpull requestする際のベストプラクティス - hnwの日記に書かれていましたので、git rebase -i masterしてsquash指定した後でpushしようとするとnone fast forwardがどーとかでエラーになりました。

今回fork前に修正は終わっていたので特に何も考えずcloneしてpull request用ブランチをgithubにpushしたのですが、pushした後でREADMEファイルを直していないのに気がついたので、再度修正した後にログをまとめてpushしようとしたのがまずかったようです。結局pushできなかったのでブランチを消して作業を一からやり直しました。(ブランチを消す方法はGit で不要になったローカルブランチ・リモートブランチの削除 - sotarokのお勉強に書いてます。)

(ちょっとまだgithubの細かいところがよく分かっていないのですが)pull request前にログをまとめる場合はgithubにpull request用ブランチをpushしない方が良いみたいです。

以上、メモでした。