Gitにあるから消してよい?作業フォルダの未追跡・ignoredを先に保全する
commitやpushが済んでも、作業フォルダ全体を戻せるとは限りません。未追跡ファイル、ignoredの設定、未commit変更を分けてから整理します。stashは退避に使えますが、同じディスクの障害に備える別コピーにはなりません。
公式資料確認日:。
履歴にあるものと、PCにしかないものを分ける
読取り用のgit status --short --untracked-files=allで変更と未追跡を見ます。ignoredも候補にするならgit status --short --ignoredを読みます。ファイル名が秘密を含む場合は一覧を公開しません。履歴の成果、未commit変更、追跡しない設定、作り直せる生成物へ分けます。
stashのオプションで、作業場所から消える対象が変わる
Gitの公式仕様では-uは未追跡を、--allはignoredも含めて退避し、含めたファイルを作業場所から取り除きます。対象を広げるほど安全になるとは考えず、設定や大きな生成物も移ることを先に判断します。
| 観測するもの | 分かること | 次の行動 |
|---|---|---|
| commit済みの成果 | 履歴に含まれる範囲 | 復元したいcommitと保存先を記録 |
| 未commit変更 | 通常stash等の対象 | 変更を別の場所で読めるか確かめる |
| 未追跡/ignored | 既定の保存範囲外になり得る | 必要な成果と秘密設定を別保全 |
| 依存物/ビルド出力 | 作り直せるなら保全不要の候補 | 版と再生成手順を残す |
設定ファイルをGitへ入れることと、守ることは別
.envなどを保全する必要があっても、公開repositoryへcommitする解決にはしません。許可された暗号化保管やアクセス制限付きの保全先と、再発行可能な設定を区別します。秘密を本文の記入例に貼る必要はありません。
消す前に、復元先で成果を開く
新しいスクリプトとローカル設定だけが残った想定では、push済みの履歴をcloneしてもその二つは戻りません。整理対象の外に必要なものを保全し、原本を上書きしない別の場所で読めることを確かめます。この例は実際の喪失や復旧の報告ではありません。
削除を止める条件を、容量不足でも残す
必要な成果の保全先がない、stash内容が未確認、復元で競合するなら整理を止めます。git cleanやresetを一括で走らせる手順はここでは採用しません。作業領域の容量を減らす判断は、保全の合格後に進めます。
公式資料と、判断例の境界
仕様の根拠は以下の公式資料です。本文の記入例は実測値ではありません。購入・設定変更時は、対象の型番・版・契約条件を照合します。
- Git:stashの保存対象と削除動作
-uは未追跡、--allは未追跡とignoredを含めて退避し、作業場所から取り除きます。stashだけを独立バックアップと扱いません。