ローカルのみで完結する Git 運用ガイド
What I Learned
Git を初めて使う人や個人開発者向けに、GitHub などのリモートを使わずにローカルだけで Git を完結させる運用方法を整理した。Git は本来ローカルにすべての履歴を持つ仕組みなので、リモートを覚える前にローカル Git を理解した方が扱いやすく、混乱も少ない。ローカル内でもバックアップ(擬似リモート/ミラー)が可能である。
Details
ローカルだけで Git を使うメリット
- 覚える概念が少なく学習しやすい
- 他人に迷惑がかからない
- Git の本質(変更履歴の管理)に集中できる
1. 基本操作とワークフロー
1-1. リポジトリ作成・状態確認
1git init
2git status
1-2. 変更を記録する流れ
1git add .
2git commit -m "作業内容"
1-3. 状態・履歴の確認
1git diff
2git log --oneline --graph --decorate
1-4. ブランチ操作
1git switch -c feature
2git switch main
3git branch -d feature
2. 過去バージョンに戻す(復旧コマンド)
2-1. ファイルだけ戻す
1git restore ファイル名
2-2. 直前のコミットを取り消す(作業内容は残す)
1git reset --soft HEAD^
2-3. コミットも変更も巻き戻す(破壊的)
1git reset --hard HEAD^
2-4. 特定のコミットに戻る
1git reset --hard <コミットID>
2-5. 履歴を壊さずに取り消す
1git revert <コミットID>
2-6. 過去の状態を参照
1git switch --detach <コミットID>
3. バックアップ(ローカル擬似リモート + ミラー)
Git の “リモート” は URL でなくてもよく、ローカルのフォルダをリモートとして登録できる。
3-1. 擬似リモート(ベアリポジトリ)でバックアップ
バックアップ側の作成:
1mkdir /path/to/backup
2cd /path/to/backup
3git init --bare
元リポジトリで登録:
1git remote add backup /path/to/backup
バックアップ実行:
1git push backup main
3-2. 完全バックアップ(ミラー)
--mirror を使うとリポジトリの全ブランチ・タグ・設定を丸ごとコピーできる。
ミラー作成:
1git clone --mirror /path/to/project /path/to/backup-mirror
3-3. 擬似リモートとミラーの使い分け
| 方法 | 特徴 | 向いている用途 |
|---|---|---|
| 擬似リモート(push) | 差分更新・軽量 | 日常的なバックアップ |
| ミラー(–mirror) | 全情報を完全コピー | 月に数回のフルバックアップ |
おすすめのローカル運用フロー
- 必要なら作業開始時にブランチを作る
- 変更があればこまめに add → commit
- diff / log で進捗確認
- ミスしたら restore / reset / revert
- 1日の区切りで擬似リモートへ push
- 定期的にミラーで完全バックアップ
クイックリファレンス
| 目的 | コマンド |
|---|---|
| 状態確認 | git status |
| 変更を記録 | git add . → git commit -m "" |
| ブランチ作成・切替 | git switch -c / git switch |
| ファイルを戻す | git restore file |
| 直前のコミット取り消し | git reset --soft HEAD^ |
| 完全巻き戻し | git reset --hard HEAD^ |
| 特定コミットに戻る | git reset --hard ID |
| 履歴を保って取り消す | git revert ID |
| 過去状態の参照 | git switch --detach ID |
| 擬似リモートへバックアップ | git push backup main |
| 完全コピー(ミラー) | git clone --mirror src dest |