Github Windows 'No se pudo sincronizar esta rama'

124

Estoy usando Github Windows 1.0.38.1 y cuando hago clic en el botón 'Sincronizar' después de comprometerme, aparece el error

ingrese la descripción de la imagen aquí

¿Cómo depuro este problema? Si en el caparazón, ¿qué debo hacer?

La sincronización funciona bien si hago un git pusho git pull, pero la próxima vez que quiera sincronizar usando las ventanas de Github, obtengo el mismo error.

Nyxynyx
fuente
1
Para mí fue porque había olvidado eliminar un archivo muy grande del commit. Github tiene un tamaño máximo de archivo y lo superé.
pmcilreavy
55
Me encanta la forma en que hay tantas respuestas, cualquiera de las cuales podría haber sido correcta en este caso, pero ninguna de ellas lo es. Eso es Git para ti.
15ee8f99-57ff-4f92-890c-b56153
1
Este error puede ocurrir porque no está conectado a Internet. Un poco obvio pero ... hey.
levininja
1
Estábamos teniendo problemas de internet en la oficina y esto ocurrió. Sin embargo, el git shell todavía funcionaba.
Frank Cannon

Respuestas:

113

Cuando dice eso, solo abre el shell y hazlo git status. Eso le dará una idea decente de lo que podría estar mal y el estado de su repositorio.

No puedo darle un error específico para esto, ya que ocurre por muchas razones en Github para Windows, como por ejemplo, algún problema al actualizar submódulos, etc.

manojlds
fuente
3
¡Gracias! Como novato cuando se trata de git y GitHub que tenían el mismo problema que el que hizo la pregunta original, fue muy útil :) ¡Excelente respuesta!
Dyndrilliac
55
git stashayudado. Espero seguir con GIT alguna vez.
ivkremer
¡Reinicié mi GitHub y resolvió el problema! Sucedió después de que tuve algunos conflictos para fusionar.
Rafael Fernandes
1
Tengo el mismo problema, sin embargo, estoy usando una unidad asignada. Con esta respuesta, ahora me comprometo con GitHub Desktop y a git pushtravés de Git.
zanderwar
@manojlds, ¿qué pasa cuando el estado de git solo dice que su sucursal está actualizada, no hay nada que comprometer, un directorio de trabajo limpio?
levininja
16

Este error se debe a un conflicto de fusión en los archivos. Lo enfrenté después de haber actualizado el pom.xml de mi Proyecto Maven pero no lo comprometí. Utilizando

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

como lo sugirió la publicación anterior, ayudó a encontrar cualquier cambio conflictivo y puede decidir descartar o confirmar.

Navin Mishra
fuente
¡Reinicié mi GitHub y resolvió el problema! Sucedió después de que tuve algunos conflictos para fusionar.
Rafael Fernandes
11

Yo tuve el mismo problema. Me sucedió debido a algunos cambios conflictivos. Eliminé el repositorio local de mi proyecto de mi escritorio y luego lo cloné nuevamente desde el sitio web de github (usando la opción de clonar en mi cuenta), el error desapareció.

rk2
fuente
5

Tuve el mismo problema cuando intenté desde Visual Studio y el "estado de git" en shell no mostró ningún problema. Pero logré impulsar los cambios locales con "git push" a través de shell.

Rovsen
fuente
Como dice rovsen, agregue un poco de color a los atascados: si GitHub para Windows se bloquea pero en Git Shell verá todo verde y este git statusmensaje "Su rama está por delante de 'origin / master' en 1 commit. (Use" git push "para publicar sus confirmaciones locales) ". Entrando me git pusharregló esto. ¡Reinicié GitHub para Windows y la sincronización finalmente funcionó!
micstr
4

Tuve este problema y descubrí que tenía que ver con el proxy. Solucioné el problema usando este comando:

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

Este es probablemente un caso extremo, pero cada vez que tengo este error específico es porque recientemente asigné un disco en Windows, y powershell no puedo encontrarlo.

Un reinicio de la computadora (de todas las cosas) corrige el error para mí, ya powershellque ahora puede recoger la unidad recién asignada. Solo asegúrese de conectarse a la unidad asignada ANTES de abrir el cliente github.

kwakwa
fuente
Igual que aquí. Se reinició y luego funcionó bien encogiéndose de hombros
shieldgenerator7
¡DIOS MIO! Me acabo de mudar a una nueva oficina y mis unidades mapeadas ya no funcionan. Pero no tenían nada que ver con git o mis carpetas de trabajo. Simplemente eliminé las asignaciones y luego GitHub Desktop comenzó a funcionar. ¿Esto tiene que ser un error ya que ni siquiera debería mirar esas unidades mapeadas?
DeborahK
2

Yo tuve el mismo problema. En mi caso, git no pudo encontrar la variable global %HTTP_PROXY%, simplemente porque Windows no la estaba proporcionando / utilizando.

Lo resolví excluyendo la variable del archivo de configuración de git (ubicado en %USERPROFILE%\.gitconfig):

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

¿Ha cambiado su contraseña de Windows recientemente, o al menos la que usa para conectarse a su proxy?

Este era mi problema y git statusno podía ayudarme. Tuve que cambiar mis credenciales de inicio de sesión en el archivo ".git / config" para superar este error.

Ralph Lavelle
fuente
Recibí el error de esto. En serio, solo deben hacer que esta cosa sea consciente del proxy en la interfaz de usuario y solicitar un nuevo nombre de usuario y contraseña. O incluso NTLM si se sienten (ligeramente) elegantes.
Rob Grant
1

Este error también ocurre si la rama que está intentando sincronizar ha sido eliminada.

git statusno le dirá eso, pero recibirá un mensaje de "no se ha obtenido esa referencia" si lo intenta git pull.

Libby
fuente
1

Una cosa más que puede causar esto es cuando asigna una unidad de red o conecta un VHD después de que GitHub Desktop ya se haya iniciado. La razón de esto es que GitHub Desktop utiliza ssh-agent de la instalación portátil de GIT para establecer conexiones, y nunca la cierra ... incluso si desinstala la aplicación. El proceso comienza sin conocimiento del nuevo disco y nunca se actualiza solo, y cuando se usa para ejecutar los comandos GIT para trabajar en su repositorio falla porque no comprende las rutas.

La solución en este caso es cerrar GitHub Desktop y usar el Administrador de tareas para finalizar el agente ssh en ejecución antes de iniciarlo nuevamente. Esto iniciará una nueva instancia de ssh-agent cuando sea necesario, que recogerá las nuevas asignaciones de unidades, etc.

Corey
fuente
1

Asegúrese de que la rama a la que intenta empujar no esté protegida. Estaba tratando de empujar a una rama protegida y fallé igual que tú.

mikii123
fuente
0

verifique " git status " y " git pull " en el shell y descubra qué sucede. y mi problema es el nodo http.proxy en la configuración, por lo tanto, Github Windows debería ser mucho más inteligente como abrir el shell y dar más consejos después de que se emitan los errores.

Alex Kon
fuente
0

En la línea de las respuestas del Proxy HTTP, esto también puede suceder debido a una conexión VPN. Desconectar mi conexión VPN lo resolvió por mí.

Byron Claiborne
fuente
0

Tuve el mismo problema, y ​​el "estado de git" tampoco mostró ningún problema, luego reinicié el cliente sagrado de GitHub para Windows y funcionó a las mil maravillas.

Qasim
fuente
0

Tuve el mismo problema. Eliminé el repositorio del cliente de Windows GitHub (menú del botón derecho) y lo volví a agregar. Cuando volví a agregar, noté que tenía unos 300 cambios no confirmados y que informaba un error de memoria. Descarté todos los cambios y luego la sincronización comenzó a funcionar bien nuevamente. (Usuario novato de Git: estoy seguro de que hay mejores formas de hacerlo en la línea de comandos)

Stephen Kearns
fuente
0

El registro de depuración puede proporcionar alguna información. Estoy usando v3.3.4.0, su experiencia puede diferir pero debería ser similar. En el menú de configuración, elija 'Acerca de Github Desktop ...'. Haga clic en el enlace para ver el registro de depuración. En mi caso hubo un error muy claro:

*** error fatal: se detectó una falta de coincidencia en la base de cygheap: 0x1157408 / 0x1167408. Este problema probablemente se deba al uso de versiones incompatibles de la DLL de cygwin.

Incluso proporcionó algunos consejos útiles para resolver el problema.

No estoy seguro de por qué esta información no está expuesta en el mensaje de error, pero al menos estaba disponible.

Opsimath
fuente
0

Intenté con Android Studio para confirmar los cambios y empujarlo a dominar, pero Window mostró una ventana emergente que tengo que ingresar en las credenciales de Github ( https://github.com ). Me registré con mi cuenta de Gmail, así que intenté ingresar mi identificación de Gmail junto con su contraseña. Obviamente, Git no tiene mi contraseña de Gmail y no puede coincidir con lo que estoy proporcionando, así que terminé cancelando el envío.
Cuando intenté sincronizar mis cambios a través de la ventana de la GUI de GitHub, encuentro este error. En el git statuscomando Git Shell sugirió impulsar los cambios como

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

Hice lo mismo que Git Shell sugirió ( git push) y todo está bien ahora.

Nota: para alguien que es nuevo en git, debe cambiar su ruta a la carpeta donde está su archivo .git en Cada comando que ingrese Git Shell mostrará un error de que no es un repositorio git.

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

Por ejemplo, si su proyecto está en la Dunidad en alguna carpeta, debe hacer algo como a continuación como lo hace cmdpara cambiar el directorio.

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

Y si está dentro de una carpeta anidada en D

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

Si alguien sabe cómo iniciar sesión en la ventana emergente de Github desde Windows como lo hice con la cuenta de Google y aquí hay 2 campos solo nombre de usuario, contraseña de Github. Avíseme. He resuelto el problema pero perdí algo de tiempo, así que también quiero saber sobre el inicio de sesión.

Inzimam Tariq IT
fuente