Gitマスター育成プログラム(第2ヶ月目:ブランチを活用した開発フロー)
目的: Gitのブランチ機能を理解し、ローカルリポジトリ内でブランチを活用した開発を習得する。
第2ヶ月目:ブランチを活用した開発フロー
5. ブランチの基礎
5.1 ブランチとは?
ブランチ(branch)は、現在の作業状態を保存したまま、新しい開発を進めるための仕組みです。
主な利点:
- 独立した作業環境 を確保できる
- チーム開発で並行作業 が可能
- 機能単位で管理 できる
5.2 ブランチの作成と切り替え
現在のブランチを確認
git branch新しいブランチを作成
git branch feature-branchブランチを切り替え(2通りの方法)
git checkout feature-branch # 古い方法
git switch feature-branch # 新しい方法(推奨)5.3 ブランチの削除
不要なブランチを削除
git branch -d feature-branch強制削除(未マージのブランチを削除する場合)
git branch -D feature-branch6. ブランチを使った開発
6.1 ブランチで作業を進める
develop ブランチを作成し、切り替え
git branch develop
git switch developファイルを変更し、コミット
echo "新しい機能" > feature.txt
git add feature.txt
git commit -m "新しい機能を追加"6.2 別のブランチへ移動
main に戻る
git switch mainブランチの履歴を確認
git log --oneline --graph 7. ブランチの統合(マージ)
7.1 ブランチのマージ
develop で作業を終えたら main に戻る
git switch maindevelop の変更を main に統合
git merge develop7.2 マージ時のコンフリクトと解決方法
競合が発生すると、以下のようなメッセージが表示される
CONFLICT (content): Merge conflict in conflict.txt
Automatic merge failed; fix conflicts and then commit the result.コンフリクトの発生したファイルを確認し、手動で修正
修正後、変更をステージングしてコミット
git add conflict.txt
git commit -m "コンフリクトを解決"8. 練習問題
問題1: ブランチを使った開発の流れ
git initで新しいリポジトリを作成mainからfeature-Aというブランチを作成feature-Aにファイルを追加してコミットmainに戻り、feature-Aの変更をマージgit log --oneline --graphで履歴を確認
問題2: マージ時のコンフリクトを解決
mainブランチにconflict.txtを作成し、適当な内容をコミットfeature-Bブランチを作成し、同じconflict.txtを異なる内容で変更してコミットfeature-Bをmainにマージし、コンフリクトを解決git log --oneline --graphで結果を確認
問題3: git rebase を試す
developブランチを作成し、適当な変更をコミットmainで別の変更を加えてコミットdevelopをmainにリベースして、履歴を整理git switch develop git rebase maingit log --oneline --graphで履歴を確認
問題4: 複数のブランチを使った開発フロー
git initで新しいリポジトリを作成mainからfeature-loginとfeature-signupの2つのブランチを作成feature-loginでlogin.txtを作成し、「ログイン機能の実装」と記述してコミットfeature-signupでsignup.txtを作成し、「サインアップ機能の実装」と記述してコミットmainに戻り、feature-login→feature-signupの順にマージgit log --oneline --graphで履歴を確認
問題5: git stash を活用する
git initでリポジトリを作成し、適当なファイルを追加・コミット- 新しいブランチ
feature-testを作成し、ファイルを変更(ただし、コミットはしない) git stashを使って作業途中の変更を一時的に退避mainに切り替えて、新しいファイルを作成してコミットfeature-testに戻り、git stash popで変更を復元git diffで変更が戻ったことを確認
ヒント:
git stashで変更を退避git stash listで保存した変更を確認git stash popで変更を適用
問題6: git cherry-pick を使って特定のコミットを適用
git initでリポジトリを作成し、mainで3回コミットを行うfeature-selectというブランチを作成し、mainの過去の2つ目のコミットだけを適用git log --oneline --graphで履歴を確認し、特定のコミットのみが適用されていることを確認
ヒント:
git log --onelineでコミットIDを確認git cherry-pick <コミットID>で特定のコミットを別のブランチに適用
この流れでブランチを活用し、ローカル環境での開発フローに慣れていきましょう!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
山崎講師2025年11月23日未経験でも迷わない!「成果が出る」新入社員研修の企画・講師スキル・評価まで徹底解説
山崎講師2025年11月23日新人クリエイターのための「生成AIと著作権」完全ガイド
山崎講師2025年11月23日【超入門】Hugging Faceで始めるAI開発!新人エンジニアが最初に触るべきTransformerの基礎と実践
山崎講師2025年11月23日新人エンジニア必見!才能よりも大切な「やり抜く力(グリット)」の鍛え方とは?