2016-12-01 2 views
0

今朝私のラップトップの画面を持ち上げると、私のWindows 10がクラッシュし再起動しました。特別な活動は進んでいませんでした。そのため、ディスクの重要な活動はないと思います。OSリセット後の "gitリポジトリではない"

しかし、私の主なGit reposの1つは、リセット後にクラッシュしました。未gitリポジトリ(または親ディレクトリのいずれか):

  • $ git status 致命的な:ここで私が試したものです。....../gitのに
  • $ git init 再初期化既存のGitリポジトリを.git/
  • $ git status致命的な :未gitリポジトリ(または親ディレクトリのいずれか):.git
  • ループ

私はコミットをプッシュしていないと思うので、リモートからのワイプとクローンが機能するはずです。

でも、既存のGitリポジトリ(.gitディレクトリはまだ存在しますが、chkdskはOKと表示されます)を回復するにはどうすればよいですか?

は、[追加] thisを読んでますが(私はレポを復元することはできません)

+3

最初に.gitを他の場所にすぐにコピーしてください。レポも全部。次にgitを再インストールし、それが機能するかどうか確認し、必要に応じてバックアップを使用してください。 – kabanus

+0

「バックアップの使用」を拡張できますか?リポジトリを再クローンし、.gitフォルダをバックアップから上書きする必要がありますか? "すぐに"という言葉にアップヴォーグされました –

+0

あなたは常にレポのコピーを保管してください。 gitでは 'git push 'と同じくらい簡単です。 'git init'やその他のコマンドを試す前に、フォルダ全体のコピーを作成して、追加のダメージを与えないようにしてください。あなたの作業ファイルがOKである場合に備えて、フォルダをコピーしてください。 –

答えて

6

kabanus said in a commentとして、あなたは間違いなく進む前に、どんなことができます(保存および/または他のいくつかの既存のクローンを使用する必要があります私の場合には適用されませんでしたバックアップとして)。

Gitがこれについて文句を言うとき、それはしばしばファイル.git/HEADがなくなったことを意味します。内容がref: refs/heads/masterの新しいHEADファイルを作成すると、Gitはすべてを回復できる可能性があります。

HEADは、リポジトリ内で最もアクティブなファイルであるため、OSエラーや停電によって最も壊れやすいものです。 Gitが.gitディレクトリがリポジトリであると信じているかどうかについては、重要なファイルです。ディレクトリにHEADというファイルが含まれている場合は、です。そうでない場合は、ではなく、リポジトリです。

+0

保証。私は、MS Windows 10でSmartGitでブランチングを行って途中で電源障害が発生しました。再起動後、レポを開くことができませんでした。 HEADのファイルを編集するだけで完璧に動作しました。 – ianmayo

関連する問題