個人開発ガイド:「Git管理外のデータが消えた😢」を防ぐバックアップ術
この記事について
個人でアプリやサービスを開発している方、特にエンジニアではないけれど独学でプログラミングやドキュメント管理を始めた方に向けて、データを守るための基本的な考え方とバックアップ体制の構築方法を解説します。
対象読者
- 個人開発を始めたばかりの方
- Git は使っているけれど、バックアップの仕組みをきちんと理解していない方
- 「Git にコミットしてるから安全」と思っている方
この記事で学べること
- Git はバックアップツールではないという事実
- データを守るための「多層防御」の考え方
- 開発作業における安全な作業習慣
- 具体的なバックアップツールの選び方
なぜこの記事を書いたか:失敗談から学んだこと
先日、私は Claude Desktop に「このドキュメント、ちょっと見やすく整形してくれない?」と軽い気持ちでお願いしました。
数秒後、ファイルが更新されて...
「あれ?章が丸ごと消えてる...?」
焦って「さっきの内容に戻して」とお願いするも、Claude は「覚えていない」と。
え...?
これ、Git で管理してるから大丈夫でしょ、と思って git status を叩いたら...
$ git status
Changes not staged for commit:
modified: docs/important-document.md
modified... つまり、コミットしてない。
...詰んだ。
幸い macOS の Time Machine を設定していたので、1時間前のスナップショットから無事復元できました。
でもこの時気づいたんです。「Git で管理してる = 安全」じゃないって。
Git はバックアップツールではない
恥ずかしながら、この事件まで「Git リポジトリに入ってるファイルは全部安全」だと思っていました。
しかし実際には、Git が守ってくれるのは「コミット済みの変更」だけです。
Git で守られないもの
-
コミットしていない変更
- ファイルを編集しただけで
git commitしていない状態 - 作業途中のファイルは Git の管理対象外
- ファイルを編集しただけで
-
.gitignoreに含まれているファイル- 環境設定ファイル(
.env) - ビルド成果物(
node_modules/,dist/など) - 個人的なメモやスクラッチファイル
- これらは最初から Git の管理対象外
- 環境設定ファイル(
-
リモートにプッシュしていない変更
- ローカルでコミットしただけでは、PC が壊れたら終わり
- GitHub などにプッシュして初めて「遠隔地バックアップ」が成立
バックアップの「層」を理解する
データを守るためには、複数の「層」を用意する必要があります:
| 層 | ツール | 何を保護する? | 復元できる範囲 |
|---|---|---|---|
| 第1層 | git commit |
コミット済みの変更 | ファイル/コミット単位 |
| 第2層 | git push |
プッシュ済みの変更 | リモートから復元可能 |
| 第3層 | ローカルバックアップ | 全ファイル(未コミット含む) | 時点復元 |
| 第4層 | クラウドバックアップ | 全ファイル(災害対策) | 時点復元 |
重要なポイント:Git(第1層・第2層)だけでは不十分です。
開発基盤としてバックアップ体制を構築する
個人開発を安心して続けるためには、「開発基盤」としてバックアップ体制を最初に整えることが重要です。
推奨する多層バックアップ構成
第1層:Git によるバージョン管理
役割: コード・ドキュメントの変更履歴を管理
やること:
- こまめに
git commitする - 定期的に GitHub/GitLab などにプッシュする
注意: これだけでは不十分。あくまで「履歴管理ツール」として使う。
第2層:ローカルバックアップ(Time Machine など)
役割: PC 全体のスナップショットを定期的に保存
推奨ツール:
- macOS: Time Machine(標準機能)
- Windows: ファイル履歴、Windowsバックアップ
メリット:
- 未コミットのファイルも保護される
-
.gitignoreに含まれるファイルも保護される - 間違って削除したファイルを復元できる
- 1時間前、1日前、1週間前など、任意の時点に戻せる
設定方法:
- macOS Time Machine: Appleサポート - Time Machineでバックアップする
- Windows: Microsoftサポート - ファイル履歴を使用してバックアップする
推奨環境:
外付けHDDまたはNAS(ネットワークストレージ)を使用して、自動バックアップを設定する。
第3層:クラウドバックアップ(災害対策)
役割: PC が壊れても、火事や盗難にあってもデータを守る
推奨ツール:
| サービス | 特徴 | 料金目安 |
|---|---|---|
| Backblaze | PC全体を自動バックアップ | 月額 $9 程度 |
| iCloud Drive | macOS/iOS との統合が強い | 50GB 月額 130円〜 |
| Google Drive | 2TB プランがお得 | 月額 1,300円 |
| Dropbox | ファイル同期が得意 | 月額 1,200円〜 |
推奨構成:
- 最低限: どれか1つを導入
- 理想: ローカルバックアップ + クラウドバックアップの組み合わせ
開発作業における安全な習慣
バックアップ体制を整えた上で、日々の作業でも「防衛策」を持つことが重要です。
ルール1: 編集前にコピーを残す
ファイルを大きく変更する前に、必ずコピーを作成する習慣をつけましょう。
やり方:
# 方法1: .bak ファイルとして保存
cp important-document.md important-document.md.bak
# 方法2: 日付付きでコピー
cp important-document.md important-document_backup_20241226.md
これだけで、「やっぱり元に戻したい」という時に即座に復元できます。
応用:AI に編集を依頼する前に必ずコピー
Claude や ChatGPT にファイル編集を依頼する場合、必ず事前にバックアップコピーを作成してから依頼しましょう。
ルール2: こまめに Git コミットする
作業の区切りごとに、意識的に git commit する習慣をつけましょう。
推奨タイミング:
- 機能を1つ追加したとき
- ドキュメントの1章を書き終えたとき
- うまく動いた時点(次の作業に進む前)
コミットメッセージ例:
git add docs/important-document.md
git commit -m "docs: 第3章を追加"
ルール3: 定期的にリモートへプッシュ
ローカルでコミットしただけでは、PC が壊れたら終わりです。
推奨頻度:
- 1日の作業終了時
- 重要な変更をした直後
- 長時間作業した後
git push origin main
まとめ:個人開発における「安心の土台」を作る
個人開発を続けていくためには、「データを守る仕組み」が欠かせません。
チェックリスト
以下の項目をチェックして、自分のバックアップ体制を見直してみましょう。
必須項目(最低限やるべきこと):
- Git でバージョン管理している
- 定期的に GitHub などにプッシュしている
- ローカルバックアップ(Time Machine等)を設定している
推奨項目(より安全に):
- クラウドバックアップを導入している
- 編集前にファイルをコピーする習慣がある
- 1日1回以上リモートにプッシュしている
理想の構成:
- ローカル + クラウドの二重バックアップ体制
- バックアップからの復元を一度試したことがある
-
.gitignoreに含まれる重要ファイルもバックアップされている
最後に
「バックアップは面倒」と思うかもしれませんが、一度設定すれば自動で動きます。
データを失ってから後悔するのではなく、今すぐ「安心して開発できる土台」を作りましょう。
特に個人開発では、失ったデータを復旧してくれる IT 部門はいません。自分で自分を守るしかないのです。
この記事が、あなたの大切なデータと開発活動を守る一助となれば幸いです。
Discussion