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-branch
6. ブランチを使った開発
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 main
develop
の変更を main
に統合
git merge develop
7.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 main
git 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年3月2日Gitマスター育成プログラム(第3ヶ月目:リモートリポジトリを活用したチーム開発)
新入社員2025年3月2日Gitマスター育成プログラム(第2ヶ月目:ブランチを活用した開発フロー)
新入社員2025年3月2日Gitマスター育成プログラム(第1ヶ月目:Gitの基本操作と履歴管理)
新入社員2025年3月2日遺伝的アルゴリズムを新人エンジニア向けに解説!