🐾

Git 完全ガイド:チームプロジェクト版

に公開

venom

はじめに

プログラミングといえば、やはりチームプロジェクト!
チームプロジェクトにも欠かせないのがコード管理です!
そこでややこしいGitのコマンドを自分なりにわかりやすくまとめてみました!
誰かのお役に立てれば嬉しいです!!

1 基本フロー(プロジェクトの作業の流れ)

手順 目的 コマンド
① 最新の dev を取得する 全員の最新コードを受け取る git switch devgit pull
② 作業ブランチを作成 1 機能 1 ブランチ git switch -c feature/xxxx
③ 修正作業 コードを書く
④ 変更をステージング 変更を登録 git add .
⑤ コミット作成 スナップショット保存 git commit -m "説明"
⑥ リモートへPush GitHubに上げる git push -u origin feature/xxxx
⑦ PR作成 dev にマージ依頼 GitHubで →
⑧ レビュー&マージ チームで確認して統合
⑨ 作業終了 ブランチ削除 git switch devgit branch -D feature/xxxx

2 事例集

🔥 main と dev の各役割と関係性

ブランチ 役割
main 製品として公開できる完成版(常に安定)
dev 開発途中の統合ブランチ(新機能の集約場所)

流れの考え方

feature → dev → main

具体的な役割

名称 説明
feature 各自の開発作業を行うブランチ
dev feature の変更をまとめて動作確認する
main dev で確認済みの完成コードのみを反映

何のために分けるの?

理由 説明
本番環境を壊さないため main はいつでもデプロイ可能な状態にしておく
作業を分離して安全にする 個人のミスがそのまま main へ行かない
レビュー&テストを挟む 品質担保

権限ルール例

ブランチ 誰が変更できる?
feature 各自
dev 誰でもPRで可
main リーダー / 管理者のみ

🔥 作業中に dev が更新された!どうする?

git switch dev
git pull
git switch feature/xxxx
git rebase dev
git push -f
ポイント 理由
rebase 最新devに自分の作業を追従
push -f rebaseで履歴が書き換わるため上書きが必要

🔥 push しようとしたら rejectednon-fast-forward と出た

解決:

git pull --rebase
git push

🔥 ブランチを切り替えたいけど変更があって切り替えできない

エラー:

error: Your local changes to the following files would be overwritten

解決方法①:一時退避

git stash
git switch dev

解決方法②:先にコミットしてしまう

git add .
git commit -m "WIP"
git switch dev

🔥 コンフリクトが発生した

コンフリクトとは:
複数人が同じファイルの同じ行を変更して衝突した状態

解決手順:

  1. VSCode で <<<<<< HEAD を確認
  2. どの変更を採用するか選択(both/ours/theirs)
  3. 保存
  4. git add .
  5. git rebase --continue or git commit

🔥 初めて push するとき upstream を求められた

git push -u origin feature/xxxx

一度設定すると次から git push だけでOK


🔥 PR 作成時のコメント例

## 変更内容
- 会員登録画面のページ遷移を追加
- ローディングアニメーション追加

## 確認方法
1. http://localhost:3000/register にアクセス
2. ボタンを押すと login page へ移動する

## 注意点
- devをrebase済み

3 ブランチの命名ルール(プロの現場標準)

種類 形式例 意味
feature feature/login-ui 新機能追加
fix fix/login-crash バグ修正
hotfix hotfix/api-token 緊急修正
doc doc/readme-update 文章 / 設定変更
chore chore/refactor-components 修正全般、整理

4 merge vs rebase どちらを使う?

merge rebase
履歴が残る 履歴が綺麗
コンフリクトが少ない push -fが必要
初心者向き 中級者以上

💡 チーム開発では feature → dev へは PR(merge)
dev を更新するときは rebase 推奨


5 実用フローチャート(迷ったらこれ見ればOK)

作業したい
↓
git switch dev
git pull
↓
git switch -c feature/xxxx
↓
作業
↓
git add .
git commit -m ""
git push
↓
PR
↓
レビュー後
git switch dev
git pull
git branch -D feature/xxxx

6 おまけ:必殺コマンド早見表

コマンド 目的
git status 現在の状態チェック
git log --oneline 履歴確認
git diff 変更内容確認
git stash pop stashの復元
git branch ブランチ一覧表示

Discussion