Criei um novo repositório no Github que agora possui apenas o arquivo Readme.md.
Eu tenho um projeto RoR recém-criado que queria enviar para este repositório. A seguir estão os comandos que eu dei no meu Terminal para executar isso junto com o erro que estou recebendo.
git remote add origin https://github.com/aniruddhabarapatre/learn-rails.git
Após o que eu digitei meu nome de usuário e senha
git push -u origin master
Erro ---
To https://github.com/aniruddhabarapatre/learn-rails.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://github.com/aniruddhabarapatre/learn-rails.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Esta é minha primeira vez enviando meu código para um repositório do Github e estou perdido com os erros. Pesquisei algumas outras perguntas feitas aqui, mas nenhuma delas teve problemas pela primeira vez.
Respostas:
Quando você criou seu repositório no GitHub , criou um README.md , que é um novo commit .
Seu repositório local ainda não sabe sobre esse commit. Conseqüentemente:
Você pode querer seguir estes conselhos:
Isso é:
fonte
fatal: refusing to merge unrelated histories
nesse caso,git pull --allow-unrelated-histories origin master
Se este é seu primeiro empurrão
apenas mude o
mude assim!
fonte
E aqui está um GIF.
⚠️ CUIDADO : O uso
force
pode alterar o histórico de outras pessoas no mesmo projeto. Basicamente, se você não se importa com a exclusão de um arquivo para todos, vá em frente. Especialmente se você é o único desenvolvedor do projeto.fonte
git push -f origin master
não é um ótimo hábito de se formar.-f
A tag remove arquivos e deve ser usada com cuidado.Emita um push forçado com o comando:
fonte
Supondo que você adicionou o arquivo Leiame.md através da interface fornecida pelo github, o leia-me ainda não está na sua pasta local. Portanto, ao tentar enviar para o repositório remoto remoto, você recebe um erro, porque seu repositório local não possui o arquivo leia-me - ele está "atrasado", por assim dizer. Portanto, conforme sugerido na mensagem de erro, tente "git pull" primeiro. Isso extrairá o leia-me do repositório remoto e o mesclará com o diretório local. Depois disso, você não terá problemas em enviar para o repositório remoto (os comandos que você postou parecem válidos para mim).
fonte
Isso acontece quando você tenta enviar inicialmente. Porque em seu repositório do GitHub, leia readMe.md ou qualquer outra coisa nova que não esteja no seu repositório local. Primeiro, você precisa mesclar o histórico não relacionado do seu repositório no github.
você pode obter os outros arquivos do repo (readMe.md ou qualquer outro) usando este
Depois disso
Agora você envia com sucesso todas as alterações para o repositório Github. Não sou especialista em git, mas sempre que essas etapas funcionam para mim.
fonte
Considerando que você não realizou suas alterações há algum tempo, talvez isso funcione para você.
Isso funcionou para mim, espero que funcione para você também.
fonte
se você usar o git para mac na GUI, poderá escolher Respository-> Pull ou "comm + shift + p" para "git pull" primeiro e depois publicar a fonte.
fonte
Este erro ocorre quando você envia os dados do diretório local para o repositório git remoto, seguindo o comando git:
git push -u origin master
Como os arquivos do diretório local e do diretório remoto do git entraram em conflito.
Solução:
Depois de confirmar todos os arquivos para preparação, siga as etapas abaixo.
Busque os arquivos do repositório remoto como seu conflito com o diretório de trabalho local.
git pull <remoter-url> <branch-name>
Confirme as alterações novamente.
git add -A
git commit -m ‘<comment>'
Após arquivos de mesclagem confirmados com o diretório, você pode usar
git push -u origin master
Isso resolverá o problema. Obrigado.
fonte
Tive um problema semelhante ... Resolvi-o assim (não sou especialista em git, não sei se é a solução certa, mas funcionou para mim):
fonte
Eu lutei com esse erro por mais de uma hora! Abaixo está o que me ajudou a resolvê-lo. Tudo isso enquanto meu diretório de trabalho era o repositório que eu havia clonado no meu sistema.
Se você está adicionando arquivos ao seu repositório existente ** 1. Puxei tudo o que adicionei ao meu repositório para a minha pasta GitHub:
puxão
Saída foi- algum arquivo leia-me arquivo1 arquivo2
por exemplo. algum arquivo leia-me file1 file2 newfile1 newfile2
git add "newfile1" "newfile2"
[opcional] status git, isso garantirá se os arquivos que você deseja adicionar foram preparados adequadamente ou se a saída não foi
No mestre da filial Sua filial está atualizada com 'origem / mestre'. Alterações a serem confirmadas: (use "git reset HEAD ..." para unstage)
5.git commit -m "qualquer descrição que você queira dar" 6.git push
E todos os meus novos arquivos, juntamente com os mais antigos, foram vistos no meu repositório.
fonte
Uma resposta mais simples é fazer o upload manual do arquivo README.MD do seu computador para o GitHub. Funcionou muito bem para mim.
fonte
Eu uso as opções de Ramos e, em seguida, clique com o botão direito do mouse na pasta "remote / origin" e clique em "delete branches from remote", veja a imagem abaixo:
fonte
Eu recebi esse erro no Azure Git e isso resolve o problema:
fonte