コミット ── 作業のスナップショット
commit / セーブポイントを積み重ねて「履歴」を作る
コミットとは「この時点のファイル全体の状態を丸ごと記録する」操作です。ゲームのセーブポイントのようなもので、記録した時点にはいつでも戻れます。作業に区切りがつくたびにコミットしておくことで、変更の履歴が時系列に積み上がっていきます。
各コミットには「誰が・いつ・何を・なぜ変更したか」が記録されます。後から「この変更はどういう意図だったのか」を追跡できるのが最大の価値です。
git add .
git commit -m "勤怠集計ロジックを追加"
ブランチ ── 本流を汚さない並行世界
branch / 安定版はそのまま、別ラインで安全に試す
ブランチとは「履歴の枝分かれ」です。本流(mainブランチ)は本番稼働中の安定版としてそのままにしておき、新機能の開発や修正は枝分かれさせた作業用ブランチで進めます。
分岐したあとは互いに影響しません。作業用ブランチで失敗しても、mainは無傷のまま。「本番は動かしたまま、隣で新しいものを試す」ことができる仕組みです。
git checkout -b feature-kintai
マージ ── 枝を本流に合流させる
merge / 完成した変更をmainに統合する
作業用ブランチでの開発が完成したら、その変更をmainに「合流」させます。これがマージです。合流地点には「マージコミット」が作られ、両方のブランチの変更が1つに統合されます。
- コンフリクト(衝突):同じ箇所を双方で変更していると衝突が起き、どちらを採用するか手動で選ぶ必要があります。
- プルリクエスト:GitHubでは通常、マージの前に「プルリクエスト(PR)」を作り、他のメンバーのレビューを挟んでからマージします。品質チェックの関所です。
git checkout main
git merge feature-kintai
プッシュ/プル ── チームでの共有
push / pull / ローカルとリモートをつなぐ
ここまでの操作は、すべて自分のPC内(ローカルリポジトリ)で完結する話です。プッシュで初めて、GitHubなどのリモートリポジトリに履歴が送られ、チームのメンバーと共有されます。逆に、他のメンバーが送った変更を自分のPCに取り込むのがプルです。
git push origin main
git pull origin main
デプロイ ── 本番環境への反映
deploy / 完成したコードを実際のユーザーに届ける
デプロイはGitの操作ではなく、「完成したコードを実際にユーザーが使えるサーバーに配置する」工程です。Vercelなどのサービスを使っている場合、mainブランチへのプッシュ(マージ)が自動デプロイのトリガーになります。この自動化の仕組みをCI/CDと呼びます。
- プレビュー環境:Vercelでは作業ブランチのpushごとに確認用URLが自動生成され、本番反映前に動作確認できます。
- ロールバック:デプロイ後に問題が見つかったら、直前の正常なデプロイにワンクリックで戻せます。コミット履歴があるからこそ可能な操作です。
まとめ ── 1日の作業サイクル
5つの操作がひとつの流れになる
日々の開発は、次のサイクルの繰り返しです。料理に例えるなら「下書きを保存 → 別レシピを試作 → 良かったものを本レシピに統合 → レシピ帳を共有棚に置く → お客様に提供」という流れになります。
基本の5ステップ
- ブランチを切るgit checkout -b feature-xmainから作業用の枝を作る
- コミットするgit commit区切りごとにスナップショット保存
- プッシュするgit pushGitHubに送信して共有
- マージするプルリクエスト経由レビューを経てmainに統合
- デプロイされるVercel等が自動実行本番環境に自動反映
用語ミニ辞典
- リポジトリ
- コードと履歴の保管庫。ローカル(自分のPC)とリモート(GitHub)の2種類がある。
- コミット
- その時点のファイル状態の記録。セーブポイント。
- ブランチ
- 履歴の枝分かれ。本流を汚さずに作業できる並行ライン。
- マージ
- ブランチの変更を別のブランチに統合すること。
- コンフリクト
- マージ時に同じ箇所の変更が衝突すること。手動で解消する。
- プルリクエスト
- マージ前にレビューを依頼する仕組み。品質チェックの関所。
- プッシュ/プル
- ローカル→リモートへ送るのがpush、リモート→ローカルへ取り込むのがpull。
- デプロイ
- 完成したコードを本番サーバーに配置し、ユーザーが使える状態にすること。
- CI/CD
- テストとデプロイを自動化する仕組み。mainへのマージが本番反映のトリガーになる。