git statusからの「致命的:gitリポジトリ(または親ディレクトリのいずれでもない)」


99

このコマンドは、ファイルを取得してコンパイルするために機能します。

git clone a-valid-git-url

例えば:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

ただし、git status(またはその他のgitコマンド)を実行すると、上記のfatal: Not a git repository (or any of the parent directories)エラーが発生します。

何が悪いのですか?


6
チェックアウトされたコードはliggghtsディレクトリにあります。
Eugen Constantin Dinca、2012

回答:


161

最初に実際にディレクトリにcdする必要があります。

$ git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts
Cloning into 'liggghts'...
remote: Counting objects: 3005, done.
remote: Compressing objects: 100% (2141/2141), done.
remote: Total 3005 (delta 1052), reused 2714 (delta 827)
Receiving objects: 100% (3005/3005), 23.80 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (1052/1052), done.

$ git status
fatal: Not a git repository (or any of the parent directories): .git
$ cd liggghts/
$ git status
# On branch master
nothing to commit (working directory clean)

1
gitが独自の.gitディレクトリをホースしているときにも、このエラーが発生します。プルすると、「最適なパフォーマンスを得るためにバックグラウンドでリポジトリを自動パッキングする」というメッセージが表示されました。次に、OPのエラーメッセージのみを取得して、いくつかの操作を実行しようとしました。私の.gitフォルダーはまだ残っていますが、gitが何らかの形で破損しています。実行git initすると問題が修正されました。
Cerin 2018年

なんてバカなんだ。ディレクトリに行く前にgit statusを試してみます:)どうもありがとうございます。
webHasan

12

このメッセージを受け取ったばかりで、他の人を試す前に非常に簡単な答えがあります。親ディレクトリで、次のように入力しますgit init

これにより、gitのディレクトリが初期化されます。その後git add、動作するgit commitはずです。


クローンの前か後か?これは新しいgitリポジトリを作成しますか?これは、複製された既存のgitリポジトリと履歴でどのように機能しますか?remoteこの取り決めでは、元の設定はどうなりますか?
Michael Durrant

11

私の場合は、GIT_DIRより速くアクセスするために追加した環境変数でした。

これはまた、SourceTreeのすべてのローカルリポジトリを壊しました:(


5

sshが原因の場合もあります。だからあなたはこれを使うことができます:

git clone https://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

の代わりに:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

リポジトリをローカルマシンに複製しようとするだけでエラーが発生しました。https://を使用してFROMをgit://に切り替えたところ、正常に複製されました。私を正しい方向に向けるためのThx。
スコットウェイド

4

私の場合、Windows cmdを使用してgit-コマンド(gitステータスなど)を試行しているときに同じ問題が発生しました。 環境変数にウィンドウhttps://windows.github.com/の gitをインストールしたら、「PATH」変数にgitのクラスパスを追加します。通常、gitはC:/user/"username"/appdata/local/git/bin環境変数のPATHにこれを追加してインストールされます

そして、cmdのもう1つは、gitリポジトリに移動するか、cdを実行して、ウィンドウ上のクローンがある場所に移動します。通常、これらはgithubの下のドキュメントに保存されます。

cd Document/Github/yourproject

その後、任意のgitコマンドを使用できます


3

別の問題がありました。私はgitディレクトリにいましたが、symlinkを介してそこに行きました。私は直接(つまり、シンボリックリンクを介さずに)ディレクトリに移動する必要があり、それはうまくいきました。


3
git clone https://github.com/klevamane/projone.git
Cloning into 'projone'...
remote: Counting objects: 81, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 81 (delta 13), reused 78 (delta 13), pack-reused 0
Unpacking objects: 100% (81/81), done.

「cd projone」する必要があります

その後、ステータスを確認できます。


これが最初に気づかなかった理由の1つは、すでにコンピューターに同じ名前のフォルダーを作成していて、それがプロジェクトのクローンを作成した場所なので、もう一度ディレクトリを変更する必要があるためです。



3

このエラーは、git initを使用してgitを初期化しようとしたときに解決されました。出来た


2

私の場合、元のリポジトリはベアリポジトリでした。

だから、私は(Windowsで)タイプしなければなりませんでした:

mkdir   dest
cd dest
git init
git remote add origin a\valid\yet\bare\repository
git pull origin master

リポジトリがベアリポジトリかどうかを確認するには:

git rev-parse --is-bare-repository 

1

単に、リポジトリをクローンした後、新しいクローンフォルダにcd (現在のディレクトリを変更)する必要があります。

git clone https://User_Name@bitbucket.org/Repo_Name.git

cd Repo_Name

1

既存のプロジェクトソリューションがVSコードでTSFに移行する予定の場合:

ターミナルを開き、次のコマンドを実行します。

  1. そのフォルダー(ルートディレクトリ)でgitを初期化する

    git init

  2. Gitを追加

    git add .

  3. TSf / Gitをそのプロジェクトにリンクします-{url}をgitアドレスに置き換えます

    git remote add origin {url}

  4. これらの変更をコミットします。

    git commit -m "initial commit"

  5. プッシュ -バージョン1としてコードをプッシュしました。ブランチには任意の名前を使用できます

    git push origin HEAD:Version1


0

突然gitコマンドを実行しようとしたディレクトリのようなエラーが発生しました:

fatal: Not a git repository: /Users/me/Desktop/../../.git/modules/some-submodule

私にとっては.git、デスクトップに隠しファイルがあり、次の内容が含まれていることがわかりました。

gitdir: ../../.git/modules/some-module

そのファイルを削除して修正しました。


0

オフィスネットワークでも同じ問題が発生します。私このコマンドを使用しますが、 URLで機能しないので、次のようにします。 $ git clone https://gitlab.com/omsharma/Resume.git

このURLを使用した$ git clone https://my_gitlab_user@gitlab.com/omsharma/Resume.git 試してみてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.