1.自己紹介及び背景
・実務経験:なし
・プログラミング学習歴:約1年
・習得言語:HTML、CSS、JavaScript、TypeScript、React、Node.js、PHP、Laravel 等
・個人開発経験:ToDoアプリ、家計簿アプリ、天気予報アプリ 等
2.開発実装前に
・2-1 チーム開発の中心ブランチを作成※チーム次第
git checkout -b develop_【チームの共通名】
git branch -b develop_ashimo_team
※このブランチに、以後各メンバーが開発したfeatureブランチがマージされていきます。
(最初はピンとこなくても、この記事を読み進めれば分かってきます!)
・2-2 自分の作業ブランチ(featureブランチ)を作成
*個別タスクを開発するためのfeatureブランチを作成
git checkout -b feature/feature/【名前】/【作業内容】
git checkout -b feature/ashimo/users_table
・2-3 現在のブランチ位置を確認
git branch
* 例:feature/ashimo/users_table と表示されていれば、そのブランチにいます。
・(2-3-2 ブランチの移動)
git checkout 【移動先ブランチ】
git checkout feature/ashino/users_posts
※ローカルに未コミットの変更があると移動できません。commitしてから移動しましょう。
3.初回PRまで(push)
・3-1 現在のブランチ位置確認(開発したブランチ位置にいることを確認)
git branch
・(3-1-2 ブランチの移動)
git checkout 【移動先ブランチ】
git checkout feature/ashino/users_table
※ローカルに未コミットの変更があると移動できません。commitしてから移動しましょう。
・3-2 変更内容をステージング
git add .
・3-3 変更状態を確認(省略可)
git status
・3-4 ステージングをローカルリポジトリ(自分のpc上のリポジトリ)へコミット
git commit -m"【作業内容のコメント】"
git commit -m"usersテーブル作成完了"
・3-5 変更状態を確認(割愛可、空ならOK)
git status
・3-6 変更内容をリモートリポジトリ(共有のリポジトリ)へプッシュ
git push origin 【開発したブランチ】
git push origin feature/ashimo/users_table
※3-6でリモートリポジトリへ登録後PRgithubからPRを作成しレビューを依頼
4.レビューで指摘をうけたら(再push)
・4-1 現在のブランチ確認(指摘を受けた同ブランチにいることを確認)
git branch
・4-2 指摘箇所を修正
・4-3 変更をステージング
git add .
・4-4 変更状態を確認(省略可)
git status
・4-5 ステージングをローカルリポジトリ(自分のpc上のリポジトリ)へ
git commit -m"【作業内容のコメント】"
git commit -m"usersテーブル作成 指摘箇所修正完了"
・ 4-6 変更内容をリモートリポジトリ(共有のリポジトリ)へ
git push origin 【開発したブランチ】
git push origin feature/ashimo/users_table
※この再プッシュで、PRに自動的に差分が反映されます。
5.開発中心ブランチの最新化(pull)
*他のメンバーのPRがdevelopブランチにマージされた場合、自分の開発環境も最新状態に保つ必要があります。
・5-1 現在のブランチ確認(開発中心のブランチにいることを確認)
git branch
develop_ashino_team 等の返答が正常
・(5-1-2ブランチの移動)
git checkout 【移動先ブランチ】
git checkout develop_ashimo_team
※未コミットの変更がある場合は、先にcommitしてください。
・5-2 最新の開発中心リモートリポジトリを開発中心ローカルリポジトリへ同期
git pull origin 【開発中心ブランチ】
git pull origin develop_ashimo_team
*このdevelopブランチから次の作業ブランチを作成しましょう。
6.開発中に他メンバーのタスクがマージされたら(merge)
上記【5】の開発中心ブランチを最新化したのちにこの処理を行いましょう
*開発中のfeatureブランチに、他のメンバーの変更を取り込みたい場合に行う操作です。
・6-1 現在のブランチ確認
git branch
6-1-2 (6-1-2 ブランチの移動)
git checkout 【移動先ブランチ】
git checkout feature/ashimo/users_table
※未コミットの変更がある場合は、先にcommitしてください。
6-2 現在の開発ブランチに最新ブランチを同期
git merge 【開発中心ブランチ】
git mergi develop_ashimo_team
もしコンフリクト(競合)が発生したら、エディタで内容を修正後、再度add→commitしましょう。
7.まとめ
チーム開発では、Gitのブランチ運用を理解しているかどうかが非常に重要です。
最初は混乱することもあるかもしれませんが、何度も使っていくうちに自然と身につきます。
本記事が、チーム開発におけるGit操作の理解に役立てば幸いです!