複数人でのGit運用
ブランチ戦略・コードレビュー・保護ルール
ゴール: チームでGitを使うときのルールと仕組みを理解し、混乱なく協力開発できるようになる
1人開発との違いを理解
→ 問題意識を持つ
GitHub Flow / Git Flow
→ mainを壊さず安全に開発する方法を知る
ブランチ名・コミットメッセージ
→ チーム内の共通言語を作る
PR・レビュー・マージ
→ 品質を保ちながら知識を共有する仕組み
自動レビュアー・ブランチ保護ルール
→ 自動でルールを強制する安全装置
朝のpullから夕方のマージまで
→ 実際の作業フローを体験する
ルールを決めておけば、これらの問題を防げる
小〜中規模チーム
継続的デプロイ
シンプルさ重視
大規模チーム
バージョン管理が必要
リリースサイクルが長い
新機能の開発feature/add-loginfeature/user-profile
バグの修正bugfix/fix-header-layoutbugfix/login-validation
緊急の修正hotfix/security-patchhotfix/crash-on-startup
Conventional Commits
feat: ユーザー登録フォームを追加fix: メール送信時のエラーを修正
他のメンバーが書いたコードを確認し、
フィードバックを送るプロセス
パスワードのバリデーションを追加した方がよさそうです。
最低8文字のチェックはありますか?
特定のファイルやディレクトリに対して、自動的にレビュアーを割り当てる仕組み
.github/CODEOWNERS に設置git push --force による履歴破壊コードの閲覧・Issue作成
外部コントリビューター向け
プッシュ・PR作成・マージ
開発メンバー向け
設定変更・メンバー管理
プロジェクトリーダー向け
git pull origin main
最新のmainを取得してスタート
git checkout -b feature/...
作業ブランチを作成
gh pr create
Pull Requestを作成してレビュー依頼
gh pr merge --squash
mainにマージして完了!
mainには直接コミットしない
feature branchで作業する
feature/ bugfix/ hotfix/feat: fix: docs:
PRを通じてレビューを受ける
品質と知識共有を担保
レビュー必須・CI必須
force push禁止
担当領域を明確化
自動レビュアー割り当て
Read / Write / Admin
最小権限の原則
ルールを守ることで、チーム全員が安心して開発できる
| コマンド | 説明 |
|---|---|
git checkout -b <branch> |
新しいブランチを作成して切り替え |
git checkout main |
mainブランチに切り替え |
git add |
変更をステージングエリアに追加 |
git commit -m "msg" |
ステージングした変更を履歴に記録 |
git push -u origin <branch> |
ブランチをリモートにプッシュ(上流設定付き) |
git push |
ローカルの変更をリモートにプッシュ |
git pull origin main |
mainブランチの最新変更を取得・統合 |
git reset HEAD~1 |
直前のコミットを取り消し(変更は残る) |
gh pr create |
プルリクエストを作成(GitHub CLI) |
gh pr edit --add-reviewer |
PRにレビュアーを追加 |
gh pr merge --squash |
PRをスカッシュマージ(コミットを1つにまとめて統合) |
git push --force |
強制プッシュ(履歴破壊の危険あり、非推奨) |