読者です 読者をやめる 読者になる 読者になる

c-bata web

@c_bata_ のメモ。python多め

git勉強内容まとめ10(Pull Requestを送ってみる)

Git

はじめに

この記事は,WEB+DB PRESS Vol.69のGitHub特集にのっている,「はじめてのPull Request」を見ながら勉強しています。 これは実際にWEB+DB PRESSさんが用意してくれたGitHubリポジトリにPull Requestを送信するなどして実践的な練習が出来るものとなっています。

詳しくはこちら↓

WEB+DB PRESS Vol.69

WEB+DB PRESS Vol.69

  • 作者: 大塚弘記,渡辺修司,堤智代,森田創,中島聡,A-Listers,はまちや2,川添貴生,井上誠一郎,近藤宇智朗,ヒノケン,後藤秀宣,佐藤鉄平,mala,奥野幹也,伊藤智章,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2012/06/23
  • メディア: 大型本
  • 購入: 13人 クリック: 143回
  • この商品を含むブログ (18件) を見る


Pull Requestの送信

Pull Requestの送信は↓のようなイメージらしい。

f:id:nwpct1:20140113163125p:plain


① Fork

f:id:nwpct1:20140113163344p:plain

ページ右上に「Fork」と書かれたボタンが有る。GitHubにログインした状態でそれを押すと、自分のアカウントにリポジトリがForkされる。


② pull

リポジトリを手元の開発環境にcloneする。 画面右下にある「SSH clone URL」をコピー

f:id:nwpct1:20140113163516p:plain

$ git clone git@github.com:mejiro/wdpress69.git


③ トピックブランチを作成。

git branchコマンドでブランチの一覧を表示

$ cd wdpress69
$ git branch -a
* gh-pages
  remotes/origin/HEAD -> origin/gh-pages
  remotes/origin/fix-typo
  remotes/origin/gh-pages

現在gh-pagesというブランチだけがある状態のようです. ここでworkというブランチを作成

$ git checkout -b work origin/gh-pages
Branch work set up to track remote branch gh-pages from origin.
Switched to a new branch 'work'
$ git branch -a
  gh-pages
* work
  remotes/origin/HEAD -> origin/gh-pages
  remotes/origin/fix-typo
  remotes/origin/gh-pages


③' 変更を加える

index.htmlをエディタで開いて,感想をHTML形式で追加。

他の方々の感想の後ろに僕の感想も追記しました。

<p class="impression">とても勉強になりました。ありがとうございます</p>

ブラウザでレイアウトが崩れていないか確認.


④ push

まずはコミット

$ git add index.html
$ git commit -m "Add my impression"

次は自分の変更を加えたworkブランチをpush

$ git push origin work
Counting objects: 5, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 312 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
To git@github.com:mejiro/wdpress69.git
 * [new branch]      work -> work

リモートのブランチを見てみると

$ git branch -a
  gh-pages
* work
  remotes/origin/HEAD -> origin/gh-pages
  remotes/origin/fix-typo
  remotes/origin/gh-pages
  remotes/origin/work

originにworkブランチが存在することが分かる。


⑤ Pull Request

Pull Requestはgithubのページで行います。 ブラウザでリポジトリを開き,先程作成したworkブランチを選択。

f:id:nwpct1:20140113165614p:plain

Compare & pull requestを選択

f:id:nwpct1:20140113165937p:plain

コメントを書き込んで,「Send Pull Request」ボタンを押すとPull Request完了!

f:id:nwpct1:20140113170111p:plain

感想

本当に分かりやすかったです。 素晴らしい教材でした。ありがとうございます。

追記

Pull Requestを送信してから1時間ほどでメールが届きました。 どうやらPull Requestを取り込んで頂いたようです。 実際にページを見に行くと、僕の感想が追加されていました。

おまけ

Pull Requestを取り込む際の流れのイメージもついでにつくったので張っておきます

f:id:nwpct1:20140113180556p:plain

図が下手なのでかなり複雑に見えますが,そんなに難しくは無さそうです。

但し,fetchという初めて聞いた作業がありました。