5

現在の開発用のマスターブランチと開発ブランチがあります(ローカル作業コピー)。masterからdevブランチに変更をマージする必要があります。マージする前に、git stashを実行して、次のエラーを発見しました。

fatal: Not a git repository (or any of the parent directories): .git

このエラーを調査するために、次のコマンドを実行しました git status git branch git remote -v。すべて同じエラーが発生しましたfatal: Not a git repository (or any of the parent directories): .git

また、ブランチの原点をリセットしてみたところ、同じ結果が得られました。 git remote set-url origin https://github.com/Connexions/oer.exports.gitfatal: Not a git repository (or any of the parent directories): .git

ローカルの作業ディレクトリからdevブランチにも変更をコミットできません。

この問題を修正する方法について誰かが何か提案がありますか?

4

4 に答える 4

16

次のファイルを確認してください。

  • your_repo_dir/.git/HEAD

このコンテンツが破損していると思われる場合は、これが問題です。同様の問題が発生し、HEADファイルの内容を選択したブランチからの最後のコミットのgitcommitハッシュに置き換えることで修正しました。

コミットハッシュは、.git/logs/refs/heads and branch_name_file

お役に立てば幸いです。

于 2012-12-10T12:17:18.440 に答える
3

そのエラーメッセージを取得する1つの方法は、どういうわけかgitリポジトリの作業ツリーにいないことです。例として、 「「」エラーが発生した
」を参照してください。git clonefatal: Not a git repository (or any of the parent directories): .git

GIT_WORK_TREEまた、環境変数が間違ったパスに設定されていることが原因である可能性もあります。
または、git repo likeを使用したラッパーで見られます(たとえば、このスレッドrvmを参照してください)

どちらの場合も、(あなたが行った)新しいクローンで状況をリセットすることは、通常、状況を修正するための良い方法です。

于 2012-09-11T05:55:57.573 に答える
3

Visual Studio gitプラグインで問題が発生した後、このエラーが発生しました。

解決策は、名前をに変更することでしmy_repo_dir/.git/HEAD.lockmy_repo_dir/.git/HEAD

ヘッドファイルをロックした後に何かがクラッシュし、リポジトリが強制終了されたようです。

于 2013-10-07T12:20:45.290 に答える
2

Visual Studioからリモートにブランチをプッシュしようとした後、同じ問題が発生しました。内容を確認した後、.git/HEAD.lockの名前を.git/HEADに変更しました。今では正常に動作します。

于 2014-11-13T18:21:04.727 に答える