Estou me apresentando ao Git seguindo este tutorial:
Tudo funciona bem até a parte em que o repositório é adicionado à minha máquina local:
git remote add nfsn ssh://USERNAME@NFSNSERVER/home/private/git/REPONAME.git
(Depois de substituir USERNAME, NFSNSERVER e REPOAME pelos nomes corretos), recebo o erro:
fatal: Not a git repository (or any of the parent directories): .git
Você pode me ajudar a superar essa etapa?
git init
mas também certificar-se de nenhum dos seus subdiretórios têm a sua própria.git
pastaRespostas:
Você iniciou um repositório Git local, no qual esse controle remoto deve ser adicionado?
Seu diretório local possui uma
.git
pasta?Tente
git init
.fonte
.git
pasta se foi. Égit init
o mesmo que excluir a pasta do repositório e, em seguidagit clone ...
. Todos necessidade I a fazer é umpull
.git
pasta desaparecer, você poderá executargit init
novamente para criar uma nova. Você precisará adicionar novamente um controle remoto antes de poder retirá-lo.jalal@klein:~/computer_vision/py-faster-rcnn$ git add -A fatal: Not a git repository: caffe-fast-rcnn/../.git/modules/caffe-fast-rcnn
Você receberá esse erro se tentar usar um comando Git quando seu diretório de trabalho atual não estiver em um repositório Git. Isso ocorre porque, por padrão, o Git procurará um
.git
diretório de repositório (dentro da raiz do projeto?), Como apontado pela minha resposta para "O Git não mostrará log, a menos que eu esteja no diretório do projeto" :Você precisará
cd
entrar no repositório / cópia de trabalho ou não inicializou ou clonou um repositório. Nesse caso, você precisa inicializar um repositório no diretório em que deseja colocá-lo:ou clonar um repositório
fonte
git init
. Depois de ler a sua resposta, eu usei isso várias vezes em repositórios que eu fiz clone, mas não foram reconhecidos. Assim, parece ser seguro quando executado a partir de uma árvore de diretórios que é suposto ser umgit repository
, tem todos os arquivos no diretório git, mas está afirmando não serfatal: Not a git repository (or any parent up to mount point
Meu problema foi que, para alguns soluços no meu sistema operacional, qualquer comando no meu repositório local terminou com "fatal: não é um repositório git (ou qualquer um dos diretórios pai): .git", com o comando fsck incluído.
O problema estava vazio no arquivo HEAD .
Consegui encontrar o nome real da filial em que trabalhei em .git / refs / heads e fiz o seguinte:
Funcionou.
fonte
NOTA: isso não responde ao problema comum, que era o problema do OP, mas ao problema diferente em que essa mensagem de erro pode aparecer. Eu não estava com vontade de fazer uma nova pergunta apenas para escrever esta resposta, diga-me se eu deveria fazer isso: P
Cheguei à situação, provavelmente devido a alguma corrupção de um certo travamento que tive, que recebi esse erro mesmo quando
.git
existia.Como não tinha nada que realmente precisasse ser preservado, segui o caminho fictício e fiz ...
Ainda não está funcionando, como por exemplo
git log
retornafatal: bad default revision 'HEAD'
. Os controles remotos estavam lá, então eu fizgit fetch --all
e depois apenasgit reset --hard origin/master
para chegar ao estado em que o repositório estava anteriormente.Note-se que se houver algumas alterações não confirmadas, você pode vê-los com
git status
,git diff
e assim por diante. Então apenasgit diff yourfile > patch
antes de executar a redefinição.Pelo menos para mim, o reflog (
git reflog
) desapareceu completamente. Portanto, se você fizer a redefinição e houver algumas alterações que você deseja impedir, não tenho certeza de que você poderá recuperá-las após a redefinição. Portanto, verifique se você tem todas as alterações que não pode perder, copiando o clone antes de tentar isso.fonte
git init
egit fetch --all
corrigiu o problema.Basta digitar o seguinte no cmd ou git shell ou em qualquer outro terminal:
fonte
Esse problema me ocorreu depois que mudei a localização de um projeto git no sistema de arquivos. Quando executei alguns comandos git, ocorreu o erro, por exemplo:
Eu encontrei em
/home/rospasta/path_old/gitprojecta/.travis/.git
caminho absoluto da localização antiga do projeto foi escrito. A atualização manual desse caminho do novo local resolveu o problema para mim.Portanto, meu problema pode ou não ser um problema do git, mas HTH.
fonte
Caso isso ajude alguém, recebi esta mensagem de erro após excluir acidentalmente .git / objects /
Restaurar resolveu o problema.
fonte
Na linha de comandos / CLI, você receberá esse erro se o diretório atual NÃO for o repositório. Então, você precisa primeiro CD no repositório.
fonte
Provavelmente tarde demais, mas outra solução que pode ajudar futuros visitantes. Primeiro exclua o
.git
diretório antigo -Em seguida, inicialize o repositório git novamente
fonte
fatal
erro mesmo que a.git
pasta exista.Parece que você não está indo para sua pasta específica. Por exemplo, se estou trabalhando em um projeto chamado bugsBunny e ele é salvo na pasta d: / work: code, primeiro você precisa ir para essa pasta usando o cd d: / work / code / bugsBunny, depois você deve pode continuar usando seus comandos git.
fonte
Mesmo eu tive o mesmo problema. Eu escrevi um shell script que fará backup de todos os meus códigos no repositório Git nos dias úteis da semana às 17:55, usando o crontab. vendo os logs do cron, encontrei o problema mencionado acima.
o problema acima ocorre apenas quando você está tentando executar comandos git a partir de um diretório não-gir (ou seja, de outro diretório que não seja a cópia de trabalho). para corrigir este add
-C <git dir>
no comando git você está executando tal quegit status
serágit -C /dir/to/git status
egit add -A
serágit -C /dir/to/git -A
.fonte
No meu caso, usei o Tortoise SVN e cometi o erro de também usar as funções GIT do Visual Studio ao mesmo tempo. Isso fez o Visual Studio bloquear o arquivo HEAD dentro da pasta .git para que nem o VS nem o Tortoise pudessem acessar o repositório e recebi o erro "fatal: Not a git repo ..." nos dois aplicativos.
Solução:
fonte
Para isso, você precisa digitar um comando que está ausente nos comandos bitbucket
Por favor, tente git init.
fonte
no meu caso, tive o mesmo problema enquanto tento qualquer comando git (por exemplo, status git) usando o Windows cmd. Então, o que eu faço é depois de instalar o git for window https://windows.github.com/ nas variáveis ambientais, adicione o caminho da classe do git na variável "PATH". normalmente o git será instalado em C: / user / "nome de usuário" / appdata / local / git / bin e adicione isso no PATH na variável ambiental
e mais uma coisa no cmd, vá para o seu repositório git ou cd, para onde seu clone está na sua janela, em geral eles serão armazenados nos documentos em github cd Document / Github / yourproject, após o qual você poderá ter quaisquer comandos git
obrigado
fonte
Vá para a pasta de origem onde o repositório local está armazenado, por exemplo, o meu é encontrado em c: / GitSource, clique com o botão direito do mouse na pasta, clique em git bash aqui e, em seguida, em status do git ....
fonte
GIT_DIR deve estar desabilitado:
unset GIT_DIR
fonte
No meu caso, o arquivo .git / HEAD foi corrompido (continha apenas pontos). Então eu editei e substituí seu conteúdo por:
ref: refs/heads/master
e começou a funcionar novamente.
fonte
Para mim, isso estava relacionado à propriedade malformada no meu
.git/
caminho.root
possuído.git/HEAD
e.git/index
, impedindo que ojenkins
usuário execute o trabalho.fonte
.git/HEAD
e.git/index
pararoot:root
, ainda consigo adicionar controles remotos sem erros. Quando eu alterar a propriedade de todo o.git
diretório pararoot
, eu recebo um erro diferente:error: could not lock config file .git/config: Permission denied
.Abaixo, o erro parece que o Gits não encontrou o arquivo .git no diretório atual, lançando uma mensagem de erro.
Portanto, mude para diretório para diretório de repositório em que você fez o check-out do código do git e, em seguida, execute este comando.
fonte
No meu caso, descobri que o git no Windows diferenciava maiúsculas de minúsculas da letra da unidade em algum momento.
Após a atualização do git binary no Windows CLI, os comandos que costumavam funcionar pararam. por exemplo, o caminho no script era D : \ bla \ file.txt enquanto o comando git aceitava apenas d : \ bla \ file.txt
fonte
O git estava funcionando bem e, de repente, começou a mostrar essa
fatal: Not a git repository (or any of the parent directories): .git
mensagem.Para mim, não tenho certeza do que estava corrompido na pasta .git, fiz
git clone ** newfolder
e copiei toda a pasta .git na minha pasta corrompida / antiga, onde estava fazendo alterações antes de o git começar a mostrar a mensagem de erro ..Tudo voltou ao normal e o git também reconheceu meus arquivos alterados / não faseados.
fonte
restaurar os
.git/ORIG_HEAD
e outros arquivos raiz .git repoEu recebi esse erro depois de restaurar a partir do backup, aparentemente os arquivos contidos na raiz do diretório .git não chegaram ao destino, mas todas as subpastas o fizeram no começo, e achei que o repositório estava intacto.
Corrigi-o restaurando os arquivos raiz.
fonte
Eu tive esse problema com o plugin Jenkins Git após problemas de autenticação com o GitLab. Jenkins estava relatando 'hudson.plugins.git.GitException: [...] stderr: GitLab: O projeto que você estava procurando não pôde ser encontrado. fatal: Não foi possível ler do repositório remoto. '
No entanto, se eu fiz um 'git clone' ou 'git fetch' direto da caixa Jenkins (linha de comando), ele funcionou sem problemas.
O problema foi resolvido excluindo o diretório inteiro / espaço de trabalho na pasta de trabalhos Jenkins para esse trabalho específico, por exemplo,
Presumivelmente, a pasta .git local ficou obsoleta / corrompida?
fonte
Isso também pode ser devido a permissões. Verifique as permissões de proprietário / grupo e verifique se você possui permissões adequadas para acessar esses dados. No meu caso, me deparei com esse erro ao executar o "status git" em um repositório cuja propriedade foi definida como root: root. A execução de "status git" como raiz resolveu meu problema. Como alternativa, se você não deseja que a propriedade do usuário / grupo seja root: root, mostre o repositório para algo ao qual você tenha acesso.
fonte
Eu tive esse problema e o corrigi adicionando o arquivo README.md
fonte
No meu caso, uma falha no sistema causou o arquivo HEAD corrompido. Este guia mostra como corrigir esse e outros problemas que você pode encontrar.
https://git.seveas.net/repairing-and-recovering-broken-git-repositories.html
fonte