コンユウメモ

技術メモを忘れるのでBlogでメモ

GithubでOSSのPull Requestを作成してマージしてもらう手順

はじめに

SugarRecordというSwift製のRailsでいうActiveRecrdみたいなものを使ってみようと、サンプルコードを作ってみたが、イテレータが正しく動いてないようだった。
そこでライブラリのコードを見ると1行直せば正しい動作をするようだった。ライブラリのコードを修正し正しい動作をした。

本ブランチにマージしてもらうべくPull Requestを作成し、それがマージされ取り込まれたので備忘録として自分のブランチへのフォークの仕方、Pull Resuestの作成方法などを書く

本ブランチからのフォークの仕方

  • フォークする対象のリポジトリのページに行く

  • 画面右上にあるフォークボタンをクリックする

  • Githubのアカウントに複数のorganizationに所属している場合はどのアカウントに紐づけるかダイアログが表示されるので、アカウントを選択する

f:id:kon_yu:20150125165048p:plain

フォークが完了すると自分のアカウントに、フォークしたリポジトリが作成される。
リポジトリ名の下にフォーク元のが表示されている

f:id:kon_yu:20150125163006p:plain

プログラムの修正

頑張ってバグの修正や、昨日の追加、テストコードを作成してコミットし、プッシュする

Pull Requestの作成

コミットしたらいよいよPull Requestの作成である。
フォークした自分のリポジトリにある画面左上にあるボタンを押す

f:id:kon_yu:20150125163019p:plain

すると、どのリポジトリのどのブランチに対して、Pull Requestをするか選択画面が表示される Pull Requestを取り込んでもらいたいブランチにを選択し、“Create pull request” ボタンを押す

f:id:kon_yu:20150125163017p:plain

Pull Requestのメッセージを書く

なぜこのようなPull Requestを説明する文章を書く、基本は英語 今回送ったPullreqは、バグの修正なので、このようなことをしようとしたらこういうバグが有ったので出来なかった(サンプルコードを添えて)

聞いた話によるとRailsのようなメジャーなものだとテストコードがないと絶対マージされないらいいが、今回はサンプルコードを書いたらマージしてくれた。

Pullreqに対してコミッターや他の人から質問が来たりコミュニケーションもこのPullreqのページで行われる。

f:id:kon_yu:20150125163023p:plain

上に張った画像はマージ済みのもの

マージされた結果

コントリビュータの下の方にちょっこり載りました

f:id:kon_yu:20150125162839p:plain