★おわび:ちょっとwordpressとかテンプレートとかアップデートしたらデザインとか色々崩れて(いや、崩れてはないか?)ます。そもそもブログ自体を引っ越ししようと目論んでますがどうなるかわかりません。とりあえずはちょっと落ち着いて見れるまでしばらくこのままで。★
Welcome to Delicate template
Header
Just another WordPress site
Header

Github で Fork してから Pull Request をするまでの流れ

7月 11th, 2012 | Posted by keiko713 in 技術ネタ tech

いつも忘れてしまうので、GithubであるプロジェクトをForkしてからPull Requestをするまでの流れをメモしたいと思います。今回、実際に私がこの流れを使っているCordova (PhoneGap) ドキュメントのプロジェクト、 https://github.com/apache/incubator-cordova-docs を例にやっていきたいと思います。

1. Fork する

GithubでForkしたいプロジェクトまで行って、右上にあるForkボタンを押します。今回、 https://github.com/apache/incubator-cordova-docs をForkしたので、私のGithubアカウントkeiko713上では https://github.com/keiko713/incubator-cordova-docs というリポジトリが作成されます。

2. 自分のPCにcloneする

ターミナルでcloneしたいフォルダまで行って実行(そのフォルダ内にincubator-cordova-docsという名前のフォルダが作成されます)

git clone  https://github.com/keiko713/incubator-cordova-docs.git

3. branchを作る(新規ブランチ作成とそのブランチへの切りかえ)

cd incubator-cordova-docs
git checkout -b [your_branch_name]

4. ファイルを編集する

5. commit する

新規に作成したファイルの場合はgit addするのを忘れずに

git commit -am 'Translate files related to hoge'

6. pushする

git push origin [your_branch_name]

4-6を繰り返す

7. upstream(Fork元リポジトリ)の設定

Forkした自分のリポジトリ (https://github.com/keiko713/incubator-cordova-docs) は、Fork元のリポジトリ (https://github.com/apache/incubator-cordova-docs) の変更内容を自動更新しません。なので、Fork元のリポジトリの最新情報を自分のリポジトリに反映させる必要があります。

ここで、Forkした自分のリポジトリには、大抵デフォルト名としてoriginという名前がついています。新しくFork元のリポジトリにupstreamという名前をつけて追加しましょう。

git remote add upstream https://github.com/apache/incubator-cordova-docs

8. Fork元リポジトリの最新を取得しlocalのmasterを更新

# branchをmasterに変更
git checkout master
# upstreamからpullして最新を取得
git pull upstream master
# localのmasterをoriginにpush(オプション)
git push origin master

9. branchをrebase

# branchを作成したbranchに変更
git checkout [your_branch_name]
# branchをrebase
git rebase master

10. branchをoriginにpush

git push -f origin [your_branch_name]

11. Pull Requestを作成

GithubでForkした自分のリポジトリ (https://github.com/keiko713/incubator-cordova-docs) に行き、左側にあるボタンよりbranchを[your_branch_name]に切り替えます。右上にあるPull Requestボタンを押して、Pull Requestを送信します。

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>