Git を初めて使う人や個人開発者向けに、GitHub などのリモートを使わずにローカルだけで Git を完結させる運用方法を整理した。Git は本来ローカルにすべての履歴を持つ仕組みなので、リモートを覚える前にローカル Git を理解した方が扱いやすく、混乱も少ない。ローカル内でもバックアップ(擬似リモート/ミラー)が可能である。
1git init
2git status
1git add .
2git commit -m "作業内容"
1git diff
2git log --oneline --graph --decorate
1git switch -c feature
2git switch main
3git branch -d feature
1git restore ファイル名
1git reset --soft HEAD^
1git reset --hard HEAD^
1git reset --hard <コミットID>
1git revert <コミットID>
1git switch --detach <コミットID>
Git の “リモート” は URL でなくてもよく、ローカルのフォルダをリモートとして登録できる。
バックアップ側の作成:
1mkdir /path/to/backup
2cd /path/to/backup
3git init --bare
元リポジトリで登録:
1git remote add backup /path/to/backup
バックアップ実行:
1git push backup main
--mirror を使うとリポジトリの全ブランチ・タグ・設定を丸ごとコピーできる。
ミラー作成:
1git clone --mirror /path/to/project /path/to/backup-mirror
| 方法 | 特徴 | 向いている用途 |
|---|---|---|
| 擬似リモート(push) | 差分更新・軽量 | 日常的なバックアップ |
| ミラー(–mirror) | 全情報を完全コピー | 月に数回のフルバックアップ |
| 目的 | コマンド |
|---|---|
| 状態確認 | 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 |