Clono meu repositório com:
git clone ssh://xxxxx/xx.git
Mas depois de eu mudar alguns arquivos e add
e commit
-los, quero empurrá-los para o servidor:
git add xxx.php
git commit -m "TEST"
git push origin master
Mas o erro que eu volto é:
error: src refspec master does not match any.
error: failed to push some refs to 'ssh://xxxxx.com/project.git'
git status
para obter o correto.Respostas:
Talvez você só precise se comprometer. Encontrei isso quando fiz:
Opa! Nunca cometido!
Tudo que eu tinha que fazer era:
Sucesso!
fonte
git add --all
caso deseje adicionar todos os arquivos ou você pode adicionar seletivamente os arquivos. Entãogit commit -m "Initial comment"
,git push origin master
. Isso certamente vai funcionar.git commit -m 'initial commit'
deve ser citado duas vezes. 'git commit -m "initial commit"
, pelo menos nas janelas.Tente
git show-ref
ver o que você tem refs. Existe umrefs/heads/master
?Você pode tentar
git push origin HEAD:master
como uma solução mais independente de referência local. Isso indica explicitamente que você deseja enviar a ref localHEAD
para a ref remotamaster
(consulte a documentação do git-push refspec ).fonte
git show-ref
mostrou meu ramo; ogit push origin HEAD:<branch>
funcionou para mim.git push origin HEAD:master
. Mas por que algo assimgit push --force origin master
não funciona?unfriendly
erro será exibido. usargit push origin <branch>
, em vez demaster
no caso de você tentargit checkout -b <branch>
antes de qualquer primeiro empurrão após inicialgit remote add origin <url>
Eu também tive um erro semelhante depois de excluir todos os arquivos no meu computador local e preciso limpar todos os arquivos no repositório.
Minha mensagem de erro foi algo como isto:
E foi resolvido executando os seguintes comandos:
fonte
git push origin BRANCH --force
trabalho. Obrigado!Então, eu tentei a solução do Vi :
Isso funcionou para mim.
fonte
git push origin HEAD:B
, mas eu ainda tenho o mesmo erro cada vez que quando eu empurrar comgit push origin
no ramo A.Para isso, é necessário inserir a mensagem de confirmação da seguinte forma e pressionar o código:
Enviado com sucesso para dominar.
fonte
Para mim, eu tive que garantir que a chave pública esteja configurada corretamente no servidor (anexada em ~ / .ssh / allowed_keys) e no GitHub / Bitbucket (adicionado às minhas chaves SSH no GitHub ou Bitbucket) - elas precisam corresponder.
Então:
Funcionou para mim no final.
fonte
Descobri que isso aconteceu em um repositório totalmente novo depois que o Git adicionou apenas um diretório.
Assim que adicionei um arquivo (por exemplo, um README), o Git push funcionou muito bem.
fonte
Faltando ou ignorando
git add .
ougit commit
pode causar este erro:Para corrigi-lo, reinicialize e siga a sequência apropriada:
fonte
git remote add __REMOTE_NAME__ __URL_OR_SSH__
, e acima do nome remoto é "origem"-u
opção usada aqui.Para corrigi-lo, reinicialize e siga a sequência de código apropriada:
fonte
Certifique-se de adicionar primeiro e depois confirmar / enviar:
Gostar:
fonte
Enfrentei o mesmo problema e usei
--allow-empty
:Suplemento
Uma das principais razões desse problema é que alguns servidores Git, como o BitBucket, não têm sua
master
ramificação inicializada quando um repositório novo é clonado.fonte
Isso acontece também quando você está em um ramo específico e tenta enviar outro ramo que ainda não existe, como:
fonte
-u
pode ter ajudado aqui.master
; portanto, você não pode enviá-lo. Você quer quer empurrar um ramo existente - ou criar o branch master e depois empurrá-lo, como este:git checkout -b master; git push -u origin master;
git push origin scheduler
. HA! Uma carta desligada o matará na programação. lolPara mim, o seguinte trabalhou para mover arquivos não rastreados:
Em seguida, segui etapas semelhantes
Então,
Por último mas não menos importante:
Ao fazer isso, a segurança do Windows será exibida, solicitando seu nome de usuário e senha.
fonte
No meu caso, esqueci de incluir o
.gitignore
arquivo. Aqui estão todas as etapas necessárias:Inicie um terminal e, no seu projeto, execute os seguintes comandos:
fonte
Basta adicionar uma confirmação inicial. Siga esses passos:
git add .
git commit -m "initial commit"
git push origin master
Isso funcionou para mim.
fonte
Meu problema foi que o ramo 'mestre' ainda não havia sido criado localmente.
Um rápido
criou o ramo mestre, nesse ponto, uma rápida
levou o trabalho até o repositório Git.
fonte
Você provavelmente esqueceu o comando "git add". após o comando "git init".
fonte
git commit
claro ...Também segui as instruções do GitHub da seguinte maneira, mas ainda enfrentei o mesmo erro mencionado no OP:
Para mim, e espero que isso ajude alguns, eu estava enviando um arquivo grande
(1.58 GB on disk)
no meu MacOS. Enquanto copiava a linha de códigos sugerida acima, eu não estava esperando meu processador concluir oadd .
processo. Então, quando eu digitei,git commit -m "message"
ele basicamente não fez referência a nenhum arquivo e não foi concluído o que for necessário para confirmar com êxito meu código no GitHub.A prova disso é que, quando eu digito,
git status
geralmente recebo fontes verdes para os arquivos adicionados. Mas tudo estava vermelho. Como se não tivesse sido adicionado.Então refiz as etapas. Digitei
git add .
e esperei que os arquivos terminassem de ser adicionados. Então eu segui os próximos passos.fonte
Isso significa que você esqueceu de fazer o commit inicial, tente
fonte
git add .
git commit -m "message"
git push origin branch
Verifique se há erros de ortografia, pois isso também pode causar esse erro.
fonte
Eu tive o mesmo problema quando perdi a corrida:
(Você deve ter pelo menos um arquivo ou obterá o erro novamente.)
fonte
Isso acontece se você esquecer de se comprometer antes de pressionar pela primeira vez. Apenas corra:
fonte
Para verificar o status atual
git status
,.E siga estas etapas também:
fonte
Isso acontece quando você adiciona seu arquivo, esquece de confirmar e pressionar. Portanto, confirme os arquivos e empurre.
fonte
Eu tive o mesmo problema. Eu fiz isso pelas seguintes etapas:
fonte
Se você receber esse erro ao trabalhar no modo HEAD desanexado, poderá fazer o seguinte:
Veja também: Fazendo um Git empurrar de uma cabeça desanexada
Se você estiver em uma filial local diferente da filial remota, poderá fazer o seguinte:
fonte
No cenário em que você faz check-out do código de um repositório externo (GitHub) e deseja importá-lo no sistema pessoal / interno, esse comando realmente brilha:
Isso envia todas as ramificações locais para o controle remoto, sem verificar as referências e sem insistir nas confirmações.
fonte
Isso também acontecerá se você digitar um erro de digitação no nome da filial que está tentando enviar.
fonte
é tudo o que você precisa. Esse código rastreia todos os arquivos não rastreados no seu diretório.
fonte
Caso você esteja enfrentando esse problema, mesmo depois de fazer
git init
e enviar seu commit inicial. Você pode tentar o seguinte,Seu código será enviado como uma nova ramificação.
fonte