1. Gitの基本操作
1-1. リポジトリ作成
- 初期化(git init)
- 新しいプロジェクトでGitを使う場合、ローカルディレクトリで
git initを実行し、リポジトリを初期化 - 既存のリポジトリをクローン(git clone)して始めるケースも多い
- 新しいプロジェクトでGitを使う場合、ローカルディレクトリで
- リモートリポジトリとの連携
- GitHubやGitLabなどのリモートを登録し、プッシュやプルを行う
git remote add origin <URL>でリモート設定
1-2. コミット、プッシュ、プル
- コミット(git commit)
- 変更内容をステージングエリアに追加(
git add .など) - 変更内容にメッセージを付けて確定(
git commit -m "Commit message") - 小まめなコミットで、変更履歴が追いやすくなる
- 変更内容をステージングエリアに追加(
- プッシュ(git push)
- ローカルのコミットをリモートに送信
git push origin <branch>の形式で、特定のブランチをリモートに反映
- プル(git pull)
- リモートリポジトリの最新変更をローカルに取り込み
git pull origin <branch>でマージまたはリベースが実行される
2. ブランチ作成とマージ、コンフリクト解消の手順
2-1. ブランチ作成
- 新規ブランチを作る(git checkout -b)
git checkout -b feature/new-functionで、”feature/new-function” ブランチを作成し切り替え- 作業内容を独立したブランチで進めることで、本流(main/master)を安定させる
- ブランチの命名規則
feature/,bugfix/,hotfix/など、用途に応じたプレフィックスをつける- チーム内で命名ルールを統一すると管理が楽になる
2-2. マージ(git merge、Pull Request)
- ローカルマージ
- 作業が完了したブランチを main/master に統合
git checkout main→git merge feature/new-function- コンフリクトがなければそのままマージ完了
- Pull Request(PR)を用いたマージ
- GitHubやGitLabの機能を利用し、他メンバーのレビューを経てブランチを統合
- コードレビューやCIテストを通過した後にマージする運用が一般的
2-3. コンフリクト解消
- コンフリクト発生の原因
- 同じファイルの同じ行を複数人が変更した場合などに発生
git merge実行時にコンフリクト箇所が示される
- 解消手順
- 対象ファイルを開き、
<<<<<<< HEADと>>>>>>> branch_nameの両方を比較 - 正しい変更内容を残して不要な記述を削除
- 再度
git addしてコミット
- 対象ファイルを開き、
- コンフリクトを減らすための運用
- こまめにリモートの最新を
git pullして作業ブランチを更新 - 大きな変更を行う前に、メンバー間でファイル担当をすり合わせる
- こまめにリモートの最新を
3. ブランチ戦略(Git Flow、GitHub Flow)とチーム運用上のルール
3-1. Git Flow
- 概要
- Vincent Driessenが提唱した、開発フローを整理するためのブランチ運用モデル
- main(master)、develop、feature、release、hotfixなど、役割別にブランチを切る
- 特徴
- 安定版(main/master)と開発中(develop)を明確に区別
- 新機能は feature ブランチで作業、リリース前に release ブランチで最終調整
- 緊急修正は hotfix ブランチで行い、リリース後すぐに反映可能
3-2. GitHub Flow
- 概要
- GitHubが推奨するシンプルなブランチ運用モデル
- main(master)ブランチを常にデプロイ可能な状態に保ち、機能追加や修正はすべて独立したブランチで作業
- 特徴
- 作業ブランチでコミット→PR作成→レビュー・テスト→mainへマージ→デプロイ
- releaseやhotfixブランチは特に設けず、運用がシンプルになる
3-3. チーム運用ルール
- ブランチ命名規則
feature/xxxx,bugfix/xxxx,release/xxxxなど、用途を先頭に付ける- 一貫性のある命名で管理しやすくする
- Pull Requestレビュー手順
- 1人以上の承認を必須にする、CIテストをパスするまでマージ不可にするなど、チームで合意したルールを設定
- レビュワーの割り当てやレビュー期限を明確化する
- コミットメッセージの書き方
- 短い要約 + 詳細説明(必要に応じてIssue番号を関連付け)
- バージョン管理の履歴を見やすくし、後からの追跡を容易にする
4. まとめ
- Gitの基本操作
- リポジトリ作成、コミット、プッシュ、プルの流れを理解することで、個人開発からチーム開発まで対応可能
- ブランチ作成とマージ、コンフリクト解消
- 作業単位でブランチを切り、Pull Requestを通じたレビューやテストを徹底
- コンフリクト解消手順を把握し、頻繁にリモートと同期を取ることで衝突を最小化
- ブランチ戦略(Git Flow、GitHub Flow)
- チームやプロジェクトの規模に合わせたフローを選択
- 共通ルール(命名規則、レビュー手順)を設定し、チーム開発を円滑化


コメントを残す
コメントを投稿するにはログインしてください。