Estou usando o Git para gerenciar meus dois computadores e meu desenvolvimento. Estou tentando confirmar as alterações no GitHub e estou recebendo o erro.
Falha ao enviar alguns árbitros para
<repo>
. Para impedir que você perca o histórico, as atualizações sem avanço rápido foram rejeitadas. Mesclar alterações remotas antes de pressionar novamente.
O que poderia estar causando isso e como posso corrigir isso?
EDITAR:
Puxar o repositório retorna o seguinte:
* branch master-> master (sem avanço rápido) Já atualizado
Empurrar ainda me dá o erro mencionado acima.
git
version-control
Moshe
fonte
fonte
Respostas:
O GitHub tem uma boa seção chamada " Lidando com erros de " avanço não rápido " "
O Git não pode fazer alterações no controle remoto como uma mesclagem de avanço rápido, o que uma Referência do Visual Git ilustra como:
Esse não é exatamente o seu caso, mas ajuda a ver o que é o "avanço rápido" (onde o
HEAD
ramo de uma filial é simplesmente movido para um novo commit mais recente).O "
branch master->master (non-fast-forward) Already-up-to-date
" é geralmente para filiais locais que não rastreiam sua contraparte remota.Veja, por exemplo, esta pergunta do SO "o git pull diz que está atualizado, mas o git push rejeita o avanço não rápido ".
Ou os dois ramos estão conectados, mas em desacordo com a respectiva história:
Consulte " História interminável do GIT - o que estou fazendo de errado aqui? "
fonte
Isso significa que houve outras confirmações enviadas ao repositório remoto que diferem das confirmações. Geralmente, você pode resolver isso com um
antes de empurrar
Por fim, "avanço rápido" significa que as confirmações podem ser aplicadas diretamente na parte superior da árvore de trabalho sem a necessidade de uma mesclagem.
fonte
Uma atualização de avanço rápido é onde as únicas alterações de um lado são após a confirmação mais recente do outro lado, portanto, não é necessário que haja mesclagem. Isso significa que você precisa mesclar suas alterações antes de poder enviar por push.
fonte
você pode querer usar força com operação push neste caso
mestre de origem do git push --force
fonte
Nunca faça
git -f
isso,push
pois isso pode resultar em conseqüências desastrosas posteriores.Você só precisa fazer uma
git pull
filial local.Ex:
e depois faça um
git push
fonte
Você precisa mesclar e resolver o problema
conflicts locally
antes de enviar as alterações para o repo / fork remoto.1) puxar (buscar e mesclar)
2) Empurre as alterações
Ainda assim, você tem uma opção rápida de
push
forçar o uso da--force
opção, mas deve ser evitado, pois isso pode resultar em perda de alterações ou afetar negativamente outros contribuidores.fonte