GithubでのOSSプロジェクト開発フロー
参考サイト
以下を参考にさせていただきました。
GitHubを使った今時のWebアプリ/システム開発の流れ - Rails Webook
フロー
1. GitHub上でOSSソースをForkする
プロジェクトをForkします。OSSのプロジェクトのときはクローンじゃなくてフォークなのね。
2. ローカルにソースをクローンする
そしたらソースをクローンしてくる。
$ git clone URL
これは自分のforkしたリポジトリを指定すればOK
3. トピックブランチを作成する
そしたらトピックブランチを作成します。
$ git checkout -b "トピックブランチ名"
チーム開発のときと違うのは、ここでpushしないところ。
OSSだからここでpushしちゃってもなぁ、という感じかな。ここでpushするのは、開発を行ってるチームメンバーとかがそれぞれどんなタスクで開発を進めてるのかわかるというところに意味があると思う。
4. トピックブランチに対してコードを変更し、コミットする
Pull Requestでソースコードレビューしやすいように細かくコミットしときます
5. トピックブランチをリポジトリにpushする
開発が終わったらpushします。
$ git push -u origin "トピックブランチ名"
Forkした自分のブランチに対してでOK
6. GitHubでFork元に対してPRを作成して送る
そしたらGithubでPRを送ります。これはもとのリポジトリでpull requestを送るようにする。
7. PR上でやり取りして、コミット権限がある人にソースを取り入れてもらう(mergeしてもらう)
PR上でフィードバックをもらいながら改善して行って、とりいれてもらいます。マージ!!!!おめでとう!!!