shigechi-64's diary

自由・自主・自立・自尊

GitHubを使ったひとりチーム開発のすすめ

個人でもチーム開発を意識しよう

個人開発でもGitやGitHubを使ってバージョン管理を行っている人は多いと思います。

その場合、masterブランチ以外にブランチを切らずに開発を続けても、自分ひとりなのでそんなに困ることもないかと思います。

が、実際の開発現場では一人だけで開発するということはまずないはずで、基本的には開発ブランチを切ったうえでプルリク、コードレビューを経てマージされるという手順を踏むと思います。

↑のような手順に慣れておいたほうが実際に現場に入った際にスムーズだろうと思い手順をまとめてみました。(Web上の情報を自分なりにまとめただけなのでこれが正しいかどうかはちょっとわかりません(^_^;)たぶんこんな感じだろうという推測も入っていますのでそのあたりはご容赦ください)

やり方

個人開発だとローカルにmasterブランチがあるはずなのでこの手順は不要かもしれません。なんにもないところから始める場合はこの手順でGitHub上のリポジトリをローカルにコピーしてきます。やり方は、GitHub上でClone or downloadボタンからURLをコピーし
f:id:shigechi-64:20180822202049p:plain
ローカルのターミナルで

git clone [URL]

とします。

  • 開発ブランチを作成

上述したような状況(ローカルにmasterブランチが既に存在する)の場合、それを複製して開発ブランチとして新たに作成します。

やり方は、masterブランチのルートディレクトリに移動して

git checkout -b dev

とします。(devという名前で開発ブランチを作成するとした場合)

  • 開発する

ゴリゴリ開発します。

  • ステージング、commit、push
git add .
git commit -m 'hoge'
git push origin dev

開発したリポジトリをリモートにpushします。このあたりはmasterブランチのみで開発していても同じだと思うので今回は省略します。

f:id:shigechi-64:20180822202348p:plain
f:id:shigechi-64:20180822202435p:plain
変更内容を的確に記述し、どのブランチからどのブランチへのpull requestなのかも確認しておくと良いでしょう。

これは実際にはそのリポジトリの管理者が行うものだと思いますが、今回はひとりチーム開発なのでmergeも自分でやります。
f:id:shigechi-64:20180822202607p:plain
これで無事に変更が取り込まれました。

  • ローカルのmasterブランチを最新に

リモートのoriginブランチは最新の状態になりましたが、ローカルのmasterブランチにはまだ今回の差分が取り込まれていません。
masterブランチに移動して、pullすると↑の変更が取り込まれた最新の状態にすることができます。

git checkout master
git pull
  • 不要になったローカルの開発ブランチを削除する

変更が取り込まれたあとの開発ブランチは必要がなければ削除します。

git branch --delete dev

とするか、もしくは

git branch -D dev

とするとmergeしたかどうかを問わずに強制的に削除します。

とても詳細な記事があった

これを書いている途中、Qiitaで
qiita.com
というエントリが注目を集めました。ものすごく詳細に書いてくださっているので、より詳しく知りたい方は一度参照してみることをおすすめいたします。
ブランチモデルに関する記述のところは特に私が知りたかったところだったので、とてもタイムリーなエントリでした^^