Git 基礎 — コマンド・.gitignore・GitHub を一度に
Git 基礎 — コマンド・.gitignore・GitHub を一度に
🎯 このレッスンを読み終えたら
このレッスンをすべて読み終えると、以下の3つを自信を持ってできるようになります。
- ▸✅ Gitの3つの領域:working directory / staging area / repository
- ▸✅ 基本コマンド:commit · branch · merge
- ▸✅ Conventional Commits メッセージの書き方
学習目標をチェックリスト形式で持ち、すべて答えられるようになったらレッスンを閉じましょう。
日常的なGitワークフロー 6ステップ
1. 編集 — Working Directory でコードを修正
2. git add — 変更ファイル → Staging Area へ移動
3. git commit -m — Staging → Local Repo。メッセージで変更を要約
4. git push — Local → Remote (GitHub)。チームと共有
5. git pull — Remoteの変更 → Local。チームメンバーの作業を同期
6. branch / merge — 機能ごとに分岐し、完成後に main へマージ
> 💡 ポイント:編集 (Working) → 準備 (Staging) → 保存 (Repo) → 共有 (Remote) の4ステップモデル。
.gitignore — 絶対にプッシュしてはいけないもの
1. 新規プロジェクト — github.com/github/gitignore のテンプレートをコピー&ペースト(Node・Python・Java など)
2. パターン構文 — *.log(拡張子)/ node_modules/(フォルダ)/ !important.log(例外)
3. 確認 — git status で確認。無視されるべきファイルが untracked で表示される場合は .gitignore に漏れがある
4. すでにコミット済みのファイル — .gitignore に追加してもトラッキングは継続。git rm --cached <file> でトラッキングを解除
5. グローバル .gitignore — ~/.gitignore_global(全プロジェクト共通、例:.DS_Store)
6. CI スキャン — GitHub Actions で truffleHog や git-secrets を使って機密ファイルをスキャン
> ⚠️ よくあるミス:.env・.key・.pem・.aws/credentials の漏れ → シークレットが露出。一度プッシュするとgit履歴に永久に残ります。
GitHub コア機能 6つ
1. Repository — プロジェクトの保存場所。public/private。README・LICENSE・.gitignore・.github/。fork・star・watch
2. Issues — バグ・機能リクエスト・議論。label・milestone・assignee。PRと自動連携(Closes #123)
3. Pull Request — fork・branch で変更後、本体へのマージをリクエスト。コードレビュー・CI・承認後にマージ
4. Actions (CI/CD) — .github/workflows/*.yml — push・PR 時に自動ビルド・テスト・デプロイ。パブリックリポジトリは無料
5. Codespaces — ブラウザ内の VS Code + コンテナ。ローカルセットアップ不要。PRレビュー・コントリビューションが即時可能
6. Copilot — AI ペアプログラマー。コード自動補完・PRサマリー・Issue への回答
> 🔗 GitHub 創設者:Tom Preston-Werner・Chris Wanstrath・PJ Hyett・Scott Chacon(2008年)→ 2018年 Microsoft が買収 → 2025年 1億人以上の開発者。
git reset · revert · cherry-pick · stash — *元に戻す4つのコマンド*
git reset — 過去へのタイムトラベル
3つのオプション比較
最もよく使うシナリオ:
⚠️ reset --hard の危険性
- ▸作業中の変更が消える(コミットしていないもの)
- ▸すでにプッシュしたコミットを reset すると — 他の人と競合 + force push が必要 + 履歴が壊れる
共有ブランチでは reset 禁止。 自分のローカルのみ。
git revert — パブリックブランチの安全な元に戻し
「元に戻す新しいコミット」を追加する。 履歴は保持され、変更のみが取り消される。
main ブランチの問題のあるコミットを元に戻す際の標準的な方法。 他の人の git pull にも自然に適用される。
reset vs revert 一言まとめ
- ▸reset — 履歴を書き換える。 ローカルのみ。
- ▸revert — 元に戻す新しいコミットを追加する。 どこでも安全。
git cherry-pick — 特定のコミットだけを取り込む
ホットフィックスを stable ブランチへバックポート するときによく使う。または 大きなPRの一部だけ を先にマージするときにも。
git stash — 一時保存
シナリオ:作業中に突然別のブランチへ移動しなければならない。
コミットせずにきれいに移動するための標準的な方法。
.gitignore 実践パターン
プロジェクト開始時にすぐに作成しましょう。 https://gitignore.io で 技術スタック別に自動生成 できます。
コミットメッセージ — bad/good
Conventional Commits 標準:
1行目は50文字以内、本文は72文字で折り返し。 英語の 命令形現在形 を使用。
🤖 AIへのプロンプト例
- ▸「最後のコミットを取り消して変更だけをステージに残すgitコマンドを教えて」
- ▸「この変更をConventional Commitsのメッセージで書いて」
- ▸「この.gitignoreがNode.js + Python + Java環境に十分かレビューして」