git リポジトリである作業ディレクトリがあります。今日、フォルダとファイル構造を大幅に変更し、.git
ディレクトリも少し移動しました。これらの変更をコミットしようとすると、次のエラーが発生します。
fatal: Not a git repository (or any parent up to mount parent )
エラーをグーグルで調べたところ、現在のディレクトリがgitリポジトリであるかどうかを判断するためにgitが使用する基準が見つかりました。.git
いくつかのファイルとフォルダーが不足していることが判明しました。
$ ls -la .git
total 36
drwxr-xr-x 5 oli oli 4096 Apr 6 10:51 .
drwxr-xr-x 10 oli oli 4096 Apr 6 11:05 ..
-rw-r-xr-- 1 oli oli 30 Mar 3 13:39 COMMIT_EDITMSG
-rw-r--r-- 1 oli oli 41 Mar 3 13:40 ORIG_HEAD
-rw-r--r-- 1 oli oli 6612 Mar 3 13:40 index
drwxr-xr-x 2 oli oli 4096 Jan 27 19:58 info
drwxr-xr-x 3 oli oli 4096 Jan 27 19:58 logs
drwxr-xr-x 165 oli oli 4096 Mar 3 13:40 objects
別のリポジトリと比較すると、複数のオブジェクトが欠落しています。最も重要なのはHEAD
ファイルです。どのようにしてそれらが失われたのか正確にはわかりませんが (私は常にディレクトリ全体を移動しました)、問題は、すべてを復元して、コミット ログを保持し、変更をリポジトリにコミットできるようにする方法です。