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上でフィードバックをもらいながら改善して行って、とりいれてもらいます。マージ!!!!おめでとう!!!