はじめに
アプリ開発を進めていく中で、GitHubを使った「ブランチベースの開発フロー」であるGitHubフローについて学習したので、内容を備忘録としてまとめました。
本記事では、GitHubフローの全体像から、実際に使うGitコマンドまで解説します。
GitHubフローの流れ
・ main
ブランチは常にデプロイ可能な状態に保つ
・ 機能ごとにブランチを作成
・ ローカルで開発&コミット
・ GitHubへプッシュ
・ Pull Request(PR)を作成してコードレビューを依頼
・ レビュー後、問題なければmain
ブランチにマージ
・ 必要に応じてデプロイ
開発の基本コマンド(GitHubフロー)
1. リポジトリをクローン
GitHub上にリポジトリがある場合、以下のコマンドでローカルリポジトリにクローンします。
git clone https://github.com/ユーザー名/リポジトリ名.git
cd リポジトリ名
2. main
を最新にする
mainブランチの最新の状態を取得します。
git checkout main
git pull origin main
3. 新しいブランチを作成
機能ごとにブランチを作成します。ブランチ名は feature/〇〇 や fix/〇〇 のように目的が分かる名前にすると良いです。
git checkout -b feature/機能名
例:git checkout -b feature/add-login-screen
4. コードを編集してコミット
作業が完了したら、変更をステージしてコミットします。
git add .
git commit -m "ログイン画面のUIを追加"
5. GitHubにプッシュ
ローカルリポジトリの変更内容を、リモートリポジトリに反映させます。
git push origin feature/機能名
6. Pull Requestを作成
チームのメンバーにレビューを依頼します。
コメントで指摘をもらったら、修正して再コミット&プッシュすれば、PRに反映されます。
7. レビュー後にマージ
レビューが通ったら、GitHub上で「Merge pull request」ボタンをクリックしてmainブランチにマージします。
その後、ローカルmainを最新にしておくため、以下を実行します。
git checkout main
git pull origin main
8. 使わなくなったブランチを削除
git branch -d feature/機能名 # ローカル
git push origin --delete feature/機能名 # リモート
9. 新しい機能を追加する場合は「3. 新しいブランチを作成」に戻る
新しい機能を追加する場合は、それに合わせてブランチも新しいものを作成します。
mainから新しいブランチを切るようにします。
git checkout main
git checkout -b feature/機能名
GitHubフローを使うメリット
- mainブランチがいつでも安定
- PRレビューを通してバグを防げる
- 機能単位で開発できるので見通しやすい
よくあるブランチ名の付け方
種類 | 名前例 | 用途 |
---|---|---|
機能追加 | feature/add-login |
新機能の実装 |
バグ修正 | fix/crash-on-tap |
不具合の修正 |
UI改善 | improve/button-style |
見た目や使い勝手の改善 |
リファクタリング | refactor/user-service |
コードの整理・改善 |
まとめ
ステップ | やること |
---|---|
1 |
main を最新にする |
2 |
feature/○○ ブランチを作成 |
3 | 開発 → コミット → プッシュ |
4 | PRを作成しレビュー依頼 |
5 | 問題なければマージ&削除 |