![¿Cómo hacer un flujo lineal de git?](https://rvso.com/image/1414669/%C2%BFC%C3%B3mo%20hacer%20un%20flujo%20lineal%20de%20git%3F.png)
Mi tienda de desarrollo tiene un flujo de git preferido como el siguiente:
- Consulte una rama de emisión (
issue9
). - Resolver el problema (
serve over port 80
). - Comprometerse (
git commit
...). - Fusione la rama de emisión en una rama de característica local (
cal
). Empuje la rama de funciones locales a
origin
.- Todas las fusiones deben realizarse en avance rápido, si es posible.
Esta última limitación me hace arrancarme los pelos; en la práctica, puedo hacer lo siguiente:
- Fusione la confirmación del problema en la rama de funciones locales.
- Entonces git se niega a enviar al origen debido a cambios remotos.
- Extraiga cambios remotos a la rama de funciones local.
- Git genera automáticamente una confirmación de fusión separada.
O
- Extraiga cambios remotos a la rama de funciones local.
- Git genera automáticamente una confirmación de fusión separada.
¿Existe alguna configuración que pueda modificar en la configuración global/local de git para lograr este comportamiento? Cuando intento hacer esto, termino arruinando git y teniendo que ejecutar cuatro de cinco comandos de git para limpiarlo.
Sólo quiero emacs && git commit && git checkout cal && git merge issue9 && git push origin cal
, ¿sabes?
Respuesta1
Para tiradas únicas, puedes utilizar git pull --rebase
:
$ git commit
$ git checkout cal
$ git merge issue9
$ git pull --rebase
$ git push origin cal
Para configurar git para que siempre se comporte de esta manera git pull
, haz que ~/.gitconfig
se vea así:
[push]
default = matching
[branch]
autosetuprebase = always
[color]
status = auto
[merge]
ff = true