Su rama está por delante de 'origen/maestro' por 3 confirmaciones

Resuelto FluxEngine asked hace 11 años • 11 respuestas

Obtengo lo siguiente cuando ejecutogit status

Your branch is ahead of 'origin/master' by 3 commits.

He leído en alguna otra publicación que la forma de solucionar este problema es ejecutar, git pull --rebasepero ¿qué es exactamente rebase? ¿Perderé datos o es esta una forma sencilla de sincronizar con el maestro?

FluxEngine avatar Apr 30 '13 04:04 FluxEngine
Aceptado

Recibe ese mensaje porque realizó cambios en su maestro local y no los envió al control remoto. Tienes varias formas de "resolverlo" y normalmente depende de cómo se vea tu flujo de trabajo:

  • En un buen flujo de trabajo, su copia remota del maestro debe ser la buena, mientras que su copia local del maestro es solo una copia de la remota. Al utilizar este flujo de trabajo, nunca volverás a recibir este mensaje.
  • Si trabaja de otra manera y sus cambios locales deben impulsarse, entonces simplemente git push originsuponga que el origen es su control remoto
  • Si sus cambios locales son malos, simplemente elimínelos o reinicie su maestro local al estado en remotogit reset --hard origin/main
iberbeu avatar Apr 29 '2013 21:04 iberbeu

Utilice estos 4 comandos simples

Paso 1 :git checkout <branch_name>

Es obvio entrar en esa sucursal.

Paso 2 :git pull -s recursive -X theirs

Realice cambios en sucursales remotas y reemplácelos con sus cambios si surge un conflicto. Aquí, si lo hace, git statusobtendrá algo como esto: su rama está por delante de 'origen/maestro' en 3 confirmaciones.

Paso 3 :git reset --hard origin/<branch_name>

Etapa 4 :git fetch

Restablece tu sucursal.

Disfrutar.

Abhishek Goel avatar Sep 26 '2016 08:09 Abhishek Goel

No hay nada que arreglar. Simplemente realizó 3 confirmaciones y aún no las ha movido a la rama remota. Hay varias opciones, dependiendo de lo que quieras hacer:

  • git push: mueve tus cambios al control remoto (esto podría ser rechazado si ya hay otros cambios en el control remoto)
  • no hacer nada y seguir codificando, sincronizar otro día
  • git pull: obtenga los cambios (si los hay) del control remoto y combínelos con sus cambios
  • git pull --rebase: como arriba, pero intenta rehacer tus confirmaciones además de los cambios remotos

Estás en una situación clásica (aunque normalmente no te comprometerías mucho con el master en la mayoría de los flujos de trabajo). Esto es lo que normalmente haría: Revisar mis cambios. Tal vez git rebase --interactivehacerles algunos cosméticos, eliminar los que apestan, reordenarlos para hacerlos más lógicos. Ahora muévelos al control remoto con git push. Si esto es rechazado porque mi sucursal local no está actualizada: git pull --rebaserehacer mi trabajo además de los cambios más recientes una y git pushotra vez.

pmr avatar Apr 29 '2013 21:04 pmr

Encontré este problema después de fusionar una solicitud de extracción en Bitbucket.

Tuve que hacer

git fetch

y eso fue todo.

pragman avatar Nov 30 '2016 05:11 pragman