A receber "fatal: não é um repositório git" ao tentar remotear adicionar um repo Git

 324
git
Author: Corey, 2011-01-08

22 answers

Você init um repositório de Git local, no qual este remoto é suposto ser adicionado?

A sua pasta local tem uma pasta .git?

Tenta git init.

 679
Author: Assaf Lavie, 2014-06-01 02:12:52

Irá obter este erro se tentar usar um comando Git quando a sua pasta de trabalho actual não estiver num repositório Git. Isso acontece porque, por padrão, o Git irá procurar por um diretório de repositório .git (dentro da raiz do projeto?), como indicado por a minha resposta ao "Git não irá mostrar o registo a menos que eu esteja no directório do projecto":

De acordo com a documentação oficial do Kernel Linux git , GIT_DIR é [uma variável de ambiente] definida para procurar por um .git pasta (no actual directório de trabalho?) por omissão:

Se a variável de ambiente GIT_DIR estiver definida, então indica um caminho a usar em vez do valor por omissão .git para a base da repositorio.

Você terá de cd no repositório / cópia de trabalho, ou não inicializou ou clonou um repositório em primeiro lugar, caso em que terá de iniciar um repo na pasta onde deseja colocar o repo:

git init

Ou clonar um repositório

git clone <remote-url>
cd <repository>
 68
Author: Community, 2017-05-23 11:47:20

Nota: isto não responde ao problema comum, que era problema do OP, mas a um problema diferente onde esta mensagem de erro pode surgir. Não me apetecia fazer uma nova pergunta só para escrever esta resposta, dizer - me se devia fazer isso em vez disso :P

Cheguei à situação, provavelmente devido a alguma corrupção de certos crash que tive, que tive este erro mesmo quando existia.
smar@aaeru ~/P/Nominatim> git status
fatal: Not a git repository (or any of the parent directories): .git
smar@aaeru ~/P/Nominatim [128]> ls .git
COMMIT_EDITMSG  config*  FETCH_HEAD  HEAD  index  logs/  modules/  objects/  ORIG_HEAD packed-refs
Como não tinha nada que precisasse de ser preservado, decidi de uma maneira Parva, e assim foi...
smar@aaeru ~/P/Nominatim [128]> git init
Reinitialized existing Git repository in /home/smar/Projektit/Nominatim/.git/

Ainda não está a funcionar, como por exemplo git log devolve fatal: bad default revision 'HEAD'. No entanto, os comandos estavam lá, por isso fiz git fetch --all e depois apenas git reset --hard origin/master para chegar ao estado em que o repo estava anteriormente.

Note que se houver algumas alterações por persistir, pode vê - las com git status, git diff e assim por diante. Então apenas {[9] } antes de executar o reset.

Pelo menos para mim o reflog (git reflog desapareceu completamente. Por isso, se você fizer o reset, e houve alguns mudanças que querias evitar, Não tenho a certeza se as consegues recuperar depois de reiniciar. Então, certifique-se de que você tem todas as mudanças que você não pode perder backup, em última análise, apenas copiando o clone antes de tentar isso.

 16
Author: Smar, 2015-01-07 12:50:18

O meu problema foi que, para alguns soluços com o meu SO, qualquer comando no meu repositório local terminou com " fatal: não um repositório git (ou qualquer um dos directórios-mãe): .git", com o comando fsck incluído.

O problema era ficheiro com a cabeça vazia .

Consegui encontrar o nome verdadeiro do ramo em que trabalhei .git / refs / heads e então eu fiz isso:
echo 'ref: refs/heads/ML_#94_FILTER_TYPES_AND_SPECIAL_CHARS' > .git/HEAD
Funcionou.
 9
Author: Marcin T.P. Łuczyński, 2017-04-03 17:25:54

Na linha de comandos/CLI, irá obter este erro se a sua pasta actual não for o repositório. Então, você tem que primeiro CD para o repo.

 5
Author: sid smith, 2014-06-01 18:44:34

Este problema ocorreu-me depois de ter mudado a localização de um projecto git no sistema de ficheiros. Quando executei alguns comandos git o erro ocorreu, por exemplo:

$ git status
fatal: Not a git repository: /home/rospasta/path_old/gitprojecta/.git/modules/.travis

Encontrei em /home/rospasta/path_old/gitprojecta/.travis/.git o caminho absoluto da antiga localização do projecto foi escrito. Atualizar manualmente este caminho do novo local resolveu o problema para mim.

Então, o meu problema pode ou não ser um problema git, mas HTH.
 5
Author: IsaacS, 2015-07-07 16:05:57
Provavelmente tarde demais, mas outra solução que pode ajudar os futuros visitantes. Primeiro apaga a pasta antiga .git -
rm .git

Então inicialize o acordo git novamente

git init
 4
Author: kevthanewversi, 2016-06-25 14:20:53
Parece que não vai para a sua pasta específica. Por exemplo, se eu estou trabalhando em um projeto chamado bugsBunny e ele é salvo na pasta d:/work:code , então primeiro você tem que ir para essa pasta usando cd d:/work/code/bugsBunny , então depois disso você pode continuar usando seus comandos git.
 4
Author: Vikrant singh, 2016-10-04 07:23:27
$ git status
fatal: Not a git repository:

Escreva o seguinte no seu cmd ou Git shell ou em qualquer outro terminal:

$ git init
 4
Author: der_michael, 2016-12-28 19:49:40

Para isso, tem de indicar um comando que está em falta nos comandos do bitbucket

Por favor, tente git init.
 4
Author: VIKAS KOHLI, 2017-08-09 09:18:57

No meu caso, usei a tartaruga SVN e cometi o erro de usar também as funções de Visual Studio GIT ao mesmo tempo. Isso fez o estúdio Visual bloquear o arquivo da cabeça dentro do .pasta git para que nem VS ou tartaruga poderia acessar o repo e eu tenho o " fatal: não um git repo..."erro de ambas as aplicações.

Solução:

    Vai para dentro .pasta git e mudar o nome de " HEAD.tranca" para apenas "cabeça"
  1. decida por uma aplicação de administração de GIT e não toque na outra um
 3
Author: Adrian Rosca, 2014-10-23 05:59:07
Até eu tive o mesmo problema. eu escrevi um script shell que vai fazer backup de todos os meus códigos para o meu git repo em dias de trabalho de uma semana às 17:55 usando crontab. ao ver os registros de cron, encontrei o problema acima mencionado.

O problema acima vem apenas quando você está tentando executar comandos git de uma dir não-gir (ou seja, de outra dir que não é a cópia de trabalho). para corrigir esta adição -C <git dir> no comando git, está a executar de tal forma que git status será git -C /dir/to/git status e git add -A será git -C /dir/to/git -A.

 3
Author: Mani, 2016-12-09 09:25:21

No meu caso, eu tinha o mesmo problema enquanto tentava qualquer git -- commands (por exemplo, o estado do git) usando o cmd do windows. então o que eu faço é depois de instalar o git para a janela https://windows.github.com / nas variáveis ambientais, adicione o caminho de classe do git no" caminho " variável. normalmente o git será instalado em C:/user/"utilizador" /appdata/local/Git / bin adicione isto no canal horário da variável ambiental

E mais uma coisa no cmd ir para o seu repositório git ou cd para onde o seu clone está na sua janela, normalmente serão guardados nos documentos do GitHub cd Document / Github / your project depois disso poderá ter quaisquer comandos do git

Obrigado

 2
Author: keyo, 2014-08-11 17:46:08

Abaixo do erro parece que o Gits não encontrou .o ficheiro git na pasta actual, de modo a enviar a mensagem de erro.

Como tal, muda para o directório para o directório do repositório, onde tem o código a partir do git e depois executa este comando.

    $ Git checkout
 2
Author: Ajay, 2016-09-06 08:11:57

Vá para a sua pasta de origem onde o repo local é guardado , por exemplo, o meu é encontrado em c:/GitSource , clique com o botão direito enquanto está na pasta , clique em Git bash aqui, em seguida, o estado git....

 2
Author: wesley7, 2016-11-03 06:42:55
Para mim, isto estava relacionado com a propriedade malformada no meu caminho. root Propriedade .git/HEAD e .git/index, impedindo o utilizador de executar a tarefa.
 1
Author: Hugh Esco, 2016-01-14 23:13:48

O GIT_DIR deve estar desactivado: unset GIT_DIR

 1
Author: okwap, 2017-05-18 01:46:43
No meu caso, descobri que o git no windows tornou-se sensível às maiúsculas a partir de algum momento.

Depois de actualizar o binário git nos comandos do Windows cli que costumavam funcionar, parou. por exemplo, a localização no programa era D:\bla\file.o comando txt enquanto o git aceitou apenas d :\bla\file.txt

 1
Author: ilane, 2017-06-19 12:39:21
O Git estava a trabalhar bem para a be e, de repente, começou a mostrar esta mensagem. Para mim, Não tenho a certeza do que estava corrompido .pasta git, eu fiz git clone ** newfolder e copiei o todo .pasta git para a minha pasta antiga / corrompida onde estava a fazer alterações antes do git começar a mostrar a mensagem de erro..

Tudo voltou ao normal e o git também reconheceu os meus ficheiros alterados/não encenados.

 1
Author: Neel, 2017-07-17 14:53:23

Repor a .git/ORIG_HEAD e a outra raiz .ficheiros de repo git

Recebi este erro depois de restaurar do backup, aparentemente os ficheiros contidos no .a raiz do diretório git não chegou ao alvo,mas todas as subpastas fizeram isso no início eu pensei que o repo estava intacto.

Corrigi-o restaurando os ficheiros de raiz.

 0
Author: AndrewD, 2018-02-08 16:51:28

Tive este problema com o 'plugin' do Git Jenkins após problemas de autenticação com o GitLab. O Jenkins estava a reportar o hudson.extensao.pira-te.Gitexcepção: [...]stderr: GitLab: não foi possível encontrar o projecto que procurava. fatal: não foi possível ler do repositório remoto.'

No entanto, se fiz um' clone git 'ou' git fetch ' directamente da Jenkins box (linha de comandos), funcionou sem problemas.

O problema foi resolvido por apagar Toda a pasta / espaço de trabalho na Jenkins jobs folder para essa tarefa em particular, por exemplo

rm -Rf $JENKINS_HOME/jobs/myJenkinsJob/workspace/

Presumivelmente o local .a pasta git ficou obsoleta / corrompida ?

 0
Author: GreensterRox, 2018-05-29 10:07:23

No caso de ajudar outra pessoa, recebi esta mensagem de erro {[[2]} Depois de apagar acidentalmente .git / objects/

Fatal: não é um repositório git (ou qualquer uma das pastas-mãe):.git

Restaurá-lo resolveu o problema.
 0
Author: eduherminio, 2018-08-24 13:05:01