Githubリポジトリにプッシュ中にPCが再起動し、データが全損した件について|AIと共に復旧を試みた

1.事故発生日時

2025年12月26日 12時15分頃

2.事故発生の状況

とある企画のLP(3つ)作成・コード修正の作業後、git pushしている途中…

コードエディタのクラッシュ

PC再起動

PC再起動後、コードエディタを立ち上げ

すると、そこに彼ら(開発中の全プロジェクト)の姿は無かった…。

3.現在のGithubの状況

toC-lp/、toW-lp/は正常にpushされているが、
toB-lp/のみ普段見ることのないアイコンになっている。

このディレクトリのみ開けない状況。

この見たことのない、アイコンについてAIに聞いてみた。

わたし
わたし

このアイコンは何?

AIさん
AIさん

このアイコンは Gitサブモジュール を示しています。
通常のフォルダアイコンではなく、矢印付きのアイコンで表示されているのが特徴です。

わたし
わたし

サブモジュールとは?

AIさん
AIさん

サブモジュールとは

別のGitリポジトリを現在のリポジトリ内に参照として含める仕組みです。
実体は別のリポジトリにあるため、GitHub上では直接開けません。

わたし
わたし

toB-lpに.gitを作った記憶はありませんが?

AIさん
AIさん

以下のような操作で、意図せずサブモジュールになってしまいます。

  1. 既存のGitリポジトリ内に、別のGitリポジトリをコピーした
    • toB-lp フォルダ内に .git フォルダが存在していた
    • または他のプロジェクトをコピー&ペーストした
  2. フォルダ内で誤って git init を実行した

AntigravityでGeminiさんに修正を手伝ってもらっていた時に、
意図せずそこで.gitが作られていたのかも知れない…。

4.復旧作業を試みる

AIさん
AIさん

git clone –recurse-submodules <リポジトリURL> を実行し、
リポジトリを呼び出してください。

リポジトリをクローンした後、以下を実行してください。
git submodule init
git submodule update
git clone –recurse-submodules <リポジトリURL>

わたし
わたし

クローンしたtoB-lp/が空です。

そもそも、サブモジュールのリポジトリは存在しません。

AIさん
AIさん

その状態は予想通りです。
サブモジュールとしてコミットされてしまったため、
ディレクトリへの参照のみが記録されており、
実際のファイル内容はGitに保存されていません。
以下のコマンドを実行してみてください。

# 1. 各ディレクトリ内の.gitを削除

rm -rf toB-lp/.git 
rm -rf toC-lp/.git 
rm -rf toW-lp/.git 

# 2. サブモジュールとしての記録を削除

git rm --cached toB-lp toC-lp toW-lp

# 3. 通常のディレクトリとして追加(中身も含めて)

git add toB-lp/ toC-lp/ toW-lp/

# 4. コミット

git commit -m "Fix: Add directory contents (previously recorded as submodules)"

# 5. プッシュ

git push

2026年1月16日現在、復旧できず…

コメント

タイトルとURLをコピーしました