いつも忘れてしまうので、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を送信します。
Leave a Reply