GitHubを使い始めてしばらく経ちましたが、始めて初めて
1
Pull Requestをしてみたので
やり方をメモしておきます。
Pull Requestを送ったレポジトリ
以前Octopressへ絵文字の導入で紹介した jekyll-emojiと言う プラグインに対して、emojiのイメージを外部における様な設定を可能にする 変更をリクエストしてみました。
実際に行った手順
Forkする
まず、GitHubにログインした状態で リクエストを送りたいレポジトリのページに行きます。
各レポジトリの右上にはFork
と言うボタンがあるので、このボタンをクリックします。
そうすると自分のアカウントにレポジトリのコピーが出来るので、
このレポジトリに対して変更を行なって行くことになります。
自分のページのRepositories
で確認が出来ます。
Forkした相手のレポジトリはこんな感じで自分のContributions
にも載ります。
Forkしたレポジトリをclone
Forkしたレポジトリをローカルにcloneして変更を行います。
通常のレポジトリ同様、リモートのアドレスを確認してcloneします。
git clone [email protected]:rcmdnk/jekyll-emoji.git
GUIアプリでやっている人はそちらで。
作業用ブランチを作って変更を適用する
色々な所で書かれてますが、Pull Requestを送る時は作業用のブランチを 作ってそちらからリクエストを送るのが良い様です。
今回の様な頻繁に更新されない様なレポジトリに対して、 ちょっとした変更を送るだけならあまり気にすることではないと思いますが、 オリジナルが頻繁に更新されるような場合や自分の変更に時間がかかる場合は、 Masterブランチをオリジナルの変更を追うためのブランチとして活用する、 というのが1つの理由です。
今回は外部へemojiディレクトリを置く、と言うことでexternal
と言うブランチを
作りました。
cd jekyll-emoji
git checkout -b external
これでexternal
ブランチに移ったのでゴニョゴニョと変更します。
変更をcommitしてリモートへpush
git commit -am "add external flags"
git push origin external
これでGitHubのレポジトリにexternal
ブランチが出来ます。
Pull Requestを送る
GitHubに戻り変更を行ったレポジトリのページからPull Requestを送ります。
作業を行ったブランチへ変更し、ページ上部のPull Request
ボタンを押すとPull Requestをするページに移動するので、
適宣コメントを書いてリクエストを送ります。
オリジナルの作者とやり取りしながら変更を取り込んでもらう
Pull Requestを送ると、 このような ページでやりとりを行える様になります。
ここで作者とやり取りしながら適宣修正して取り込んでもらうようにします。
もし、自分の変更をさらに修正したい場合は単に自分のレポジトリの該当ブランチを
アップデートすれば(commit&push
)そのまま相手にも伝わります。
今回は2回程アップデートをした上で取り込んでもらいました。 (2回目は単なるバグでしたが…)
まとめ
今回は小さなアップデートだったので簡単なことしかしていませんが、 さらに数回に渡ってコミットした後に送る場合や、 オリジナルのアップデートがあってそれを取り込んだりすることが 必要になる場合がありますが、 それらについて、さらに詳しい説明は以下のページがとてもわかり易かったです。
ちなみに、commitの説明文て、動詞を現在形と過去形とどっちで書くのが
正しいのだろう、とたまに考えながら、でも殆ど気にせず
気が向く方で書いていたのですが(上の変更でも最初はadd
で次はfixed
)
どうなんでしょう?
職場に居るネイティブの人達も人によって違ったりするので
語学的な感覚でもどっちでもありみたいですが、
どっちでも良いから最初にガイドラインを作っておいてそれに従う、
と言うようにするべきなんでしょうね、多分。
追記:題名も
始めて
初めて
へ。。。題名で間違えると致命的。。。 ↩