gitとgithubを使った開発環境の流れ
チームで開発する時,個人で開発をしてみようと思っている時,
gitとgithubを使うと言われても何がなんなのかわからない人が多いと思ったので,図で理解しやすいようにまとめてみました.
まずは
- clone(pull)
- ブランチを作る
- commit
- push
- PRの作成
- マージ
の流れを説明します
初めに
githubは簡単にいうとコード用のクラウドサービスです
なので,ローカル(自分のPC)とgithubは別物です
また,今回は図解が目的なので,コマンドの説明はしません
コマンドの説明は他の記事に多くあるので,そちらを参照してください
用語の説明
- デフォルトブランチ:mainとかmasterとかdevelopという名前がついているブランチ(が多いです)
図の説明
真上に伸びている線はブランチ
丸はコミットを表しています.
初めは,github上にのみリポジトリがあり,ローカルには何もない状態です.
もしくは,cloneという作業が済んでいる人はリポジトリのみがローカルに存在しています.
clone(pull)
github上のコードをローカルにも反映させましょう
初めてならclone, 2回目以降はpullを使います
ローカル(自分のPC)に反映
ブランチを作る
ここからはローカルで作業します
作業用のブランチを作りましょう
作業用のブランチでコミット(コードの変更)をします
push
ローカルでの変更をgithubに反映させましょう
作業用のブランチでコミットした内容をgithubに反映させます
PRの作成
PRを出すことで,他の人にコードの変更を確認してもらうことができます
変更の確認をレビューと言います
PRを出す
マージ
レビューが通ったらマージします
マージとは,ブランチの変更をデフォルトブランチに反映させることです
マージする
ローカルにも反映したい
マージが完了することで,コードの変更が反映されました!
ですが,ローカルにはまだ変更が反映されていません
マージが完了したので,ローカルにも反映させましょう
この方法は,始めのpullと同じです
ローカルにも反映
以上が,gitとgithubを使った開発環境の流れです
直接mainブランチにpush
では,直接デフォルトブランチにpushするとどうなるのでしょうか
ここは同じです
作業用ブランチを作らずに変更
直接push
この時点でローカルとリモートは同じなので,pullが必要ありません
つまり直接デフォルトブランチにpushすることもできます!
しかし,問題点もあります
問題点
個人でやる分には,問題がない時もありますが,チームで開発するときは問題があります.
複数人で作業
複数人で作業する時どうなるかを見てみましょう
今回は,githubが真ん中にあり,左右に2人の開発者がいるとします
他の人がデフォルトブランチを更新
自分のローカルには,デフォルトブランチの変更が反映されていない
問題点
このように,デフォルトブランチに直接pushすると,他の人の変更が反映されていないことがあります
それによって,コンフリクト(競合)が発生することがあります
理想
各自が作業用ブランチを作る
まとめ
これ以外にもgitの機能はたくさんありますが,この流れを理解しておけば,gitを使った開発ができるようになると思います
とりあえずやってみると実感もわくでしょう