remota - git remote
Cómo evitar la combinación de combinaciones desde Git pull cuando se empuja al remoto (4)
Tengo un repositorio y algunos cambios locales para confirmar. Antes de comprometerme, puse los cambios en mi local usando Egit en Eclipse.
Crea un compromiso de fusión y yo envío mi compromiso sobre él.
Ahora, cuando estoy tratando de empujar a origen, está demostrando que empujará mi compromiso, así como un compromiso de fusión. Pero idealmente, la combinación de compromisos no debería ser parte del repositorio remoto.
¿Cómo evitar esto?
Cuando tienes cambios no comprometidos, puedes hacer,
git stash
git pull --rebase <remote> <branch>
git stash pop
La estrategia habitual es trabajar en una rama. Cuando el maestro remoto cambia, arrastre los cambios al maestro y, en lugar de fusionar, vuelva a ajustar la rama.
Ver Git Rebase en Atlassian.
Tu puedes correr
git config --global branch.autosetuprebase always
para hacer que git pull --rebase
el comportamiento predeterminado para git pull.
Utilice la opción de rebase cada vez que tire desde el repositorio remoto. Por favor, siga los pasos a continuación,
- Confirme sus cambios: creará un nuevo compromiso en su local.
- Ahora haga
git pull --rebase <remote-name> <branch-name>
. - Básicamente, la rebase elimina los compromisos que cometió en la rama HEAD actual como un parche. Luego aplicará todas las confirmaciones remotas en la parte superior de HEAD y luego aplicará sus confirmaciones en la parte superior.
- Por lo tanto, la mejor práctica es confirmar los cambios y luego extraer los confirmaciones remotas utilizando la opción rebase.