Estou tentando enviar um dos meus projetos para o github e continuo recebendo este erro:
peeplesoft@jane3:~/846156 (master) $ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
Então eu tentei e consegui o seguinte:
peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master
fatal: Authentication failed
Outro encadeamento de stackoverflow sugeriu que eu tente o seguinte, com resultados decepcionantes.
peeplesoft@jane3:~/846156 (master) $ git push -u origin master
fatal: Authentication failed
Então eu tentei isso:
peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD
peeplesoft@jane3:~/846156 (master) $ git push
fatal: Authentication failed
Alguma dica?
git
comandos que o OP postou me ajudaram, ainda mais do que as respostasRespostas:
Você corrigiu o envio, mas independentemente desse problema de envio (que expliquei em " Por que preciso enviar explicitamente uma nova ramificação? ":
git push -u origin master
Ougit push -u origin --all
), agora você precisa resolver o problema de autenticação.Isso depende do seu URL (ssh como em '
[email protected]/yourRepo
ou https como emhttps://github.com/You/YourRepo
)Para https url:
Se sua conta estiver protegida pela autenticação de dois fatores , sua senha normal não funcionará (para URL de https), conforme explicado aqui ou aqui .
Mesmo problema se sua senha contiver caracteres especiais (como nesta resposta )
Se https não funcionar (porque você não deseja gerar uma chave secundária, um PAT: token de acesso pessoal), poderá mudar para ssh, como mostrei aqui .
Conforme observado por qwerty nos comentários, você pode criar automaticamente a ramificação com o mesmo nome no controle remoto com:
Por quê?
.git\HEAD
arquivo) tem o refspec do ramo em check-out (por exemplo:ref: refs/heads/master
)Como o refpec usado para esse push é head: (sem destino), falta um
:<dst>
meio para atualizar o mesmo ref que o<src>
(head, que é uma ramificação).Isso não funcionará se o HEAD for desanexado .
fonte
git push origin head -u
. Cria automaticamente a ramificação com o mesmo nome no controle remoto.Além disso, você pode usar o seguinte comando:
Isso cria (-u) outra ramificação no seu repositório remoto. Uma vez que a autenticação usando ssh é feita, é isso.
fonte
-u
option é o atalho para a--set-upstream
opção que nada tem a ver com a criação de uma nova ramificação. Na documentação da opção-u
ou--set-upstream
: "Para cada ramificação atualizada ou enviada com êxito, adicione uma referência upstream (rastreamento), usada pelo git-pull [1] sem argumentos e outros comandos.". Na verdade, eu não entendo por que essa resposta foi votada tanto quanto é enganosa.Aparentemente, você também recebe essa mensagem de erro ao esquecer o
--all
parâmetro ao pressionar pela primeira vez. eu escrevique deu esse erro, deveria ter sido
Oh, como eu amo esses erros de copiar e colar ...
fonte
Você precisa configurar o controle remoto primeiro e depois pressionar.
Instruções reais
fonte
Por favor, tente este cenário
fonte
Se você definir a ação,
git push
ela deverá ser executada se nenhum refspec for fornecido na linha de comandos, nenhum refspec estiver configurado no controle remoto e nenhum refspec estiver implícito em nenhuma das opções fornecidas na linha de comandos.Apenas faça:
então
fonte
Bem, eu estava tendo o mesmo problema durante o upload e resolvi fazendo o mesmo que ele diz: Antes, eu estava tentando passar pelo terminal para o meu repositório no Linux por https como
Mas não estava obtendo nenhum resultado e, portanto, desci mais fundo e tentei:
E funcionou. Assim, você será solicitado com nome de usuário e senha. Eu também gerei um token e, em vez de Senha, colei o token e, portanto, fui realizado com êxito.
fonte
de um lado muito simples, depois de ter outros galhos, você não pode simplesmente usar para empurrar um galho
Mas você precisa especificar o ramo agora, mesmo que tenha feito o checkout do ramo que deseja enviar, então
Onde pode ser até o
master
ramofonte
Cometi o erro simples de esquecer de confirmar:
então
git push origin master
trabalhou.fonte
Eu tive o mesmo problema
Eu resolvi isso usado abaixo do comando
e ele adicionará uma configuração no arquivo de configuração na pasta .git.
fonte
Primeiro uso
git pull origin your_branch_name
Entãouse git push origin your_branch_name
fonte
Existe uma solução simples para isso que funcionou para mim no macOS Sierra. Eu fiz estes dois comandos:
Se ele mostrar algum erro fatal em relação ao upstream após qualquer push futuro, basta executar:
fonte
1. Um computador e seu github associado. Use SSH. Código do computador para que você não precise enviar a descrição da imagem verificada aqui
2. git não pode gerenciar pasta vazia. Então você tem que escrever um arquivo readme.md salvo em um arquivo. Caso contrário, você não encontrará o arquivo.
3. Seu projeto local não é nada de novo. Por favor
git init
git remote add origin +"githublink"
git add .
git commit -m ""
vá novamente.4. então
git pull origin master
(a chave)5. Finalmente
git push origin master
(resolva todos os problemas).http://my.oschina.net/psuyun/blog/123005参考 链接
fonte
Se você estiver tentando enviar seu código diretamente para a ramificação principal, use o comando
Isso me ajuda.
fonte
Eu também recebi o mesmo erro. Acho que foi porque eu o clonei e tentei retroceder. $ git push -u origin master Este é o comando certo.Tente isso
Contando objetos: 8, pronto. Compactação delta usando até 2 threads. Compactando objetos: 100% (4/4), pronto. Escrevendo objetos: 100% (8/8), 691 bytes | 46,00 KiB / s, concluído. Total 8 (delta 1), reutilizado 0 (delta 0) remoto: resolvendo deltas: 100% (1/1), concluído.
[new branch] master -> master Mestre da filial configurado para rastrear o mestre da filial remota desde a origem.
fonte
Eu tive o mesmo problema, a causa foi que eu esqueci de especificar o ramo
fonte
Para mim, eu estava enviando as alterações para um repositório particular ao qual não tinha acesso de gravação. Verifique se você possui os direitos de acesso válidos ao executar operações push ou pull.
Você pode verificar diretamente via
fonte
Para mim, foi porque eu havia excluído a pasta .git oculta .
Corrigi-o excluindo a pasta, clonando novamente e refazendo as alterações.
fonte
Se você estiver em qualquer filial, poderá usar o seguinte:
Isso criará automaticamente uma nova ramificação com o mesmo nome no controle remoto.
fonte
Para resolver esse problema, enquanto verifica o código por
git
si mesmo, você precisa dar o comando abaixo:git checkout -b branchname origin/branchname
Aqui, por padrão, estamos definindo
the upstream branch
, para que você não esteja enfrentando o problema mencionado.fonte
Para mim, o problema vem do nome do meu ramo: "# nome do meu ramo", sem "#" está funcionando bem!
fonte