Github Windows 'Falha ao sincronizar este ramo'

124

Estou usando o Github Windows 1.0.38.1 e quando clico no botão 'Sincronizar' depois de confirmar, recebo o erro

insira a descrição da imagem aqui

Como depuro esse problema? Se estiver na casca, o que devo fazer?

A sincronização funciona bem se eu fizer um git pushou git pull, mas da próxima vez que eu quiser sincronizar usando as janelas do Github, recebo o mesmo erro.

Nyxynyx
fonte
1
Para mim, foi porque eu tinha esquecido de remover um arquivo muito grande do commit. O Github tem um tamanho máximo de arquivo e eu já superei.
pmcilreavy
5
Adoro o modo como existem tantas respostas, qualquer uma das quais poderia estar correta neste caso, mas nenhuma delas. Esse é o Git para você.
15ee8f99-57ff-4f92-890c-b56153
1
Este erro pode ocorrer porque você não está conectado à Internet. Meio óbvio, mas ... ei.
levininja
1
Estávamos tendo problemas com a Internet no escritório e isso ocorreu. O shell git ainda funcionava.
18717 Frank Cannon

Respostas:

113

Quando diz isso, basta abrir o shell e fazer git status. Isso lhe dará uma idéia decente do que pode estar errado e do estado do seu repo.

Não posso fornecer um erro específico para isso, pois ocorre por vários motivos no Github for Windows, como, por exemplo, algum problema na atualização de submódulos etc.

manojlds
fonte
3
Obrigado! Como um novato no que diz respeito ao git e ao GitHub, que tinham o mesmo problema que o solicitante da pergunta original, isso foi muito útil :) Excelente resposta!
Dyndrilliac
5
git stashajudou. Espero continuar com o GIT em algum momento.
Ivkremer
Reiniciei meu GitHub e ele resolveu o problema! Isso aconteceu depois que eu tive alguns conflitos para mesclar.
Rafael Fernandes
1
Eu tenho o mesmo problema, no entanto, estou usando uma unidade mapeada. Com esta resposta, agora apenas confirmo com o GitHub Desktop e git pushatravés do Git.
Zanderwar 30/07/2015
@manojlds e quando o status git apenas diz que seu ramo está atualizado, nada para confirmar, diretório de trabalho limpo?
precisa saber é o seguinte
16

Este erro ocorre devido a um conflito de mesclagem nos arquivos. Eu o enfrentei depois de atualizar o pom.xml do meu Projeto Maven, mas não o fiz. Usando

git status
error: Your local changes to the following files would be overwritten by merge:
<my project>/pom.xml
Please, commit your changes or stash them before you can merge.
Aborting

conforme sugerido na postagem acima, ajudou a encontrar alterações conflitantes e você pode decidir descartar ou confirmar.

Navin Mishra
fonte
Reiniciei meu GitHub e ele resolveu o problema! Isso aconteceu depois que eu tive alguns conflitos para mesclar.
Rafael Fernandes
11

Eu tive o mesmo problema. Isso aconteceu comigo por causa de algumas mudanças conflitantes. Eu removi o repositório local do meu projeto da minha área de trabalho e o clonei novamente no site do github (usando a opção clone na minha conta); o erro desapareceu.

rk2
fonte
5

Eu tive o mesmo problema quando tentei do Visual Studio e o "status do git" no shell não mostrou nenhum problema. Mas eu consegui fazer as alterações locais com "git push" via shell.

rovsen
fonte
Como rovsen diz para adicionar um pouco de cor aos que ficaram presos: Se o GitHub for Windows estiver travando, mas no Git Shell, você verá tudo verde e a git statusmensagem "Seu ramo está à frente de 'origem / mestre' com 1 confirmação. (Use" git push "para publique suas confirmações locais) ". A entrada git pushcorrigiu isso para mim. Eu reiniciei o GitHub para Windows e a sincronização finalmente funcionou!
micstr
4

Eu tive esse problema e achei que tinha a ver com o proxy. Corrigi o problema usando este comando:

 git config --global http.proxy %HTTP_PROXY%
Tom
fonte
2

Este é provavelmente um caso extremo, mas toda vez que recebo esse erro específico é porque mapeei recentemente uma unidade no Windows e powershellnão consigo encontrá-la.

Uma reinicialização do computador (de todas as coisas) corrige o erro para mim, pois powershellagora é possível pegar a unidade recém-mapeada. Apenas certifique-se de conectar-se à unidade mapeada ANTES de abrir o cliente github.

kwakwa
fonte
O mesmo aqui. Reiniciado e, em seguida, funcionou muito bem encolhe os ombros
shieldgenerator7
AMD! Acabei de me mudar para um novo espaço de escritório e minhas unidades mapeadas não funcionavam mais. Mas eles não tinham nada a ver com o git ou minhas pastas de trabalho. Simplesmente removi os mapeamentos e o GitHub Desktop começou a funcionar. Isso tem que ser um bug, já que ele nem deveria estar olhando para essas unidades mapeadas?
DeborahK
2

Eu tive o mesmo problema. No meu caso, o git não conseguiu encontrar a variável global %HTTP_PROXY%, simplesmente porque o Windows não estava fornecendo / usando.

Eu resolvi excluindo a variável do arquivo de configuração do git (localizado em %USERPROFILE%\.gitconfig):

[http]
#   proxy = %HTTP_PROXY%
Steven
fonte
2

Você alterou sua senha do Windows recentemente ou pelo menos a que você usa para se conectar ao seu proxy?

Esse era o meu problema e git statusnão poderia me ajudar. Eu tive que alterar minhas credenciais de logon no arquivo ".git / config" para superar esse erro.

Ralph Lavelle
fonte
Eu recebi o erro disso. Sério, eles devem apenas fazer com que isso seja reconhecido com proxy na interface do usuário e solicitar um novo nome de usuário e senha. Ou mesmo NTLM, se eles estão se sentindo (um pouco) extravagantes.
Rob Grant
1

Este erro também ocorre se o ramo que você está tentando sincronizar foi excluído.

git statusnão lhe dirá isso, mas você receberá uma mensagem "nenhuma referência foi buscada" se você tentar git pull.

Libby
fonte
1

Mais uma coisa que pode causar isso é quando você mapeia uma unidade de rede ou conecta um VHD após o GitHub Desktop já ter sido iniciado. A razão para isso é que o GitHub Desktop usa ssh-agent da instalação portátil do GIT para estabelecer conexões e nunca a fecha ... mesmo se você desinstalar o aplicativo. O processo começa sem o conhecimento da nova unidade e nunca se atualiza, e quando é usado para executar os comandos GIT para trabalhar no seu repositório, ele falha porque não entende os caminhos.

A solução nesta instância é fechar o GitHub Desktop e usar o Gerenciador de tarefas para finalizar o agente ssh em execução antes de iniciá-lo novamente. Isso iniciará uma nova instância do ssh-agent quando necessário, que captará os novos mapeamentos de unidades, etc.

Corey
fonte
1

Verifique se o ramo que você está tentando enviar não está protegido. Eu estava tentando enviar para um ramo protegido e falhei da mesma forma que você.

mikii123
fonte
0

verifique " status do git " e " git pull " no shell e descubra o que há de errado. e meu problema é o nó http.proxy na configuração, portanto, o Github Windows deve ser muito mais inteligente, basta clicar no shell e dar mais dicas após a emissão do erro.

Alex Kon
fonte
0

Na mesma linha das respostas do Proxy HTTP, isso também pode ocorrer devido a uma conexão VPN. Desconectar minha conexão VPN resolveu isso para mim.

Byron Claiborne
fonte
0

Eu tive o mesmo problema, e o "status do git" também não mostrou nenhum problema, então apenas reiniciei o sagrado cliente GitHub para Windows e funcionou como um encanto.

Qasim
fonte
0

Eu tive o mesmo problema. Eu removi o repositório do cliente GitHub Windows (menu do botão direito do mouse) e o adicionei novamente. Quando adicionei novamente, notei que havia cerca de 300 alterações não confirmadas e estava relatando um erro de memória. Descartou todas as alterações e a sincronização começou a funcionar bem novamente. (Usuário novato do Git - tenho certeza de que existem maneiras melhores de fazer isso na linha de comando)

Stephen Kearns
fonte
0

O log de depuração pode fornecer algumas dicas. Estou usando a v3.3.4.0, sua experiência pode ser diferente, mas deve ser semelhante. No menu de configurações, escolha 'Sobre o Github Desktop ...'. Clique no link para visualizar o log de depuração. No meu caso, houve um erro muito claro:

*** erro fatal - incompatibilidade de base do cygheap detectada - 0x1157408 / 0x1167408. Esse problema provavelmente ocorre devido ao uso de versões incompatíveis da DLL do cygwin.

Ele até forneceu algumas dicas úteis para resolver o problema.

Não sei por que essas informações não são expostas no prompt de erro, mas pelo menos estavam disponíveis.

Opsimath
fonte
0

Tentei com o Android Studio confirmar as alterações e enviá-lo para o mestre Mas o Window mostrou um pop-up que eu precisava inserir as credenciais do Github ( https://github.com ). Eu fiz a inscrição com minha conta do Gmail. Então, tentei inserir meu ID do Gmail e sua senha. Obviamente, o Git não tem minha senha do Gmail e não pode correspondê-la com o que estou fornecendo. Por isso, acabei cancelando o envio.
Quando tentei sincronizar minhas alterações através da janela da GUI do GitHub, encontrei esse erro. Sob git statuscomando, o Git Shell sugeriu enviar alterações conforme

Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

Fiz o mesmo que o Git Shell sugeriu ( git push) e está tudo bem agora.

Nota: para alguém que é novo no git, é necessário alterar o caminho para a pasta em que seu arquivo .git está em Cada comando que você digitar no Git Shell mostrará o erro de que não é um repositório git.

fatal: Not a git repository (or any of the parent directories):

Por exemplo, se o seu projeto estiver na Dunidade em alguma pasta, você precisará fazer algo como abaixo, como faz cmdpara alterar o diretório.

cd D:\someFolder     // if your project is not deep in `D`

E se estiver dentro da pasta aninhada em D

cd D:\somefolder\someNestedFolder\nestedInNested     // if your project is not deep in `D`

Se alguém souber como acessar o pop-up do Github a partir do Windows, como eu fiz a inscrição com a conta do Google, e aqui estão apenas dois campos, nome de usuário e senha do Github, senha. Resolvi o problema, mas com a perda de algum tempo, também quero saber sobre o login.

Inzimam Tariq IT
fonte