“Fatal: não é um repositório git (ou qualquer um dos diretórios pais)” do status git


99

Este comando funciona para obter os arquivos e compilá-los:

git clone a-valid-git-url

por exemplo:

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

No entanto, git status(ou qualquer outro comando git) fornece o fatal: Not a git repository (or any of the parent directories)erro acima .

O que estou fazendo de errado?


6
O código em check-out está no liggghtsdiretório.
Eugen Constantin Dinca

Respostas:


161

Você deve realmente fazer o cd no diretório primeiro:

$ 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
Você também obtém este erro quando git hoses seu próprio diretório .git. Eu puxei e vi a mensagem "Empacotando automaticamente o repositório em segundo plano para desempenho ideal." Em seguida, tentei fazer mais algumas operações, recebendo apenas a mensagem de erro do OP. Minha pasta .git ainda está lá, mas git a corrompeu de alguma forma. A execução git initcorrigiu o problema.
Cerin

Como sou estúpido. Tentando git status antes de ir para o diretório :) Muito obrigado.
webHasan

12

Acabei de receber esta mensagem e há uma resposta muito simples antes de tentar as outras. No diretório pai, digitegit init

Isso inicializará o diretório para git. Então git adde git commitdeve funcionar.


Antes ou depois do clone? Isso criaria um novo repositório git? Como isso funcionaria com o repositório git existente e o histórico que foi clonado? O que acontece com a remoteconfiguração original sob este arranjo?
Michael Durrant

11

No meu caso, era uma variável de ambiente GIT_DIR, que adicionei para acessar mais rápido.

Isso também quebrou todos os meus repositórios locais no SourceTree :(


5

Às vezes é por causa do ssh. Então você pode usar isto:

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

ao invés de:

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

Eu estava recebendo o erro ao tentar clonar um repositório para minha máquina local. Mudei DE usando https: // PARA git: // e foi clonado com sucesso. Obrigado por me apontar na direção certa.
Scott Wade

4

no meu caso, tive o mesmo problema enquanto tento qualquer comando git (por exemplo, git status) usando Windows cmd. então o que eu faço é depois de instalar o git para a janela https://windows.github.com/ nas variáveis ​​de ambiente, adicionar o caminho da classe do git na variável "PATH". normalmente o git será instalado emC:/user/"username"/appdata/local/git/bin adicionar isto no PATH na variável de ambiente

e mais uma coisa no cmd vá para o seu repositório git ou cd para onde seu clone está em sua janela, geralmente eles serão armazenados nos documentos sob github

cd Document/Github/yourproject

depois disso, você pode ter qualquer comando git


3

Tive outro problema. Eu estava em um diretório git, mas cheguei lá por meio de um link simbólico. Eu tive que ir para o diretório diretamente (ou seja, não através do link simbólico), então funcionou bem.


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.

você tem que "cd projone"

então você pode verificar o status.


Uma razão pela qual isso foi difícil de notar no início é porque você criou uma pasta com o mesmo nome já em seu computador e foi onde você clonou o projeto, então você tem que mudar de diretório novamente



3

Esse erro foi resolvido quando tentei inicializar o git usando o git init . Funcionou


2

No meu caso, o repositório original era vazio.

Então, eu tive que digitar (no windows):

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

Para verificar se um repositório é vazio:

git rev-parse --is-bare-repository 

1

Simplesmente, depois de clonar o repo, você precisa fazer o cd (mudar seu diretório atual) para a nova pasta clonada

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

cd Repo_Name

1

Se a Solução de Projeto Existente for planejada para mover para TSF no Código VS:

abra o Terminal e execute os seguintes comandos:

  1. Inicialize o git nessa pasta (diretório raiz)

    git init

  2. Adicionar Git

    git add .

  3. Vincule seu TSf / Git a esse projeto - {url} substitua pelo seu endereço git

    git remote add origin {url}

  4. Comprometa essas mudanças:

    git commit -m "initial commit"

  5. Push - Eu empurrei o código como version1 você pode usar qualquer nome para o seu branch

    git push origin HEAD:Version1


0

De repente, recebi um erro como em qualquer diretório em que tentei executar qualquer comando git de:

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

Para mim, descobri que tinha um arquivo oculto .gitna minha área de trabalho com o conteúdo:

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

Removido esse arquivo e corrigido.


0

eu tenho o mesmo problema da minha rede de escritório. Eu uso este comando, mas não está funcionando para mim url, então assim: antes $ git clone https://gitlab.com/omsharma/Resume.git

Depois de usar este URL: $ git clone https://my_gitlab_user@gitlab.com/omsharma/Resume.git experimente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.