delete - git tags best practices
Cómo evitar el infierno de cometer fusión en GitHub/BitBucket (1)
Estamos terminando con muchas confirmaciones como esta en nuestro repositorio:
Merge branch ''master'' of bitbucket.org:user/repo
Esto sucede cada vez que un desarrollador sincroniza la bifurcación local de él / ella con el repositorio de nivel superior.
¿Hay alguna forma de evitar que este infierno de confluencia de compromisos desordene todo el registro de repositorio? ¿Se puede evitarlos al iniciar las solicitudes de extracción de alguna manera?
Sé que puedo hacer git rebase si esto se hace solo en mi máquina virtual local, ¿hay alguna equivalencia en la interfaz de usuario de GitHub / BitBucket?
¿Como lo hacen ustedes?
Rebase Rasgos de características antes de fusionarse
Si desea evitar confusiones de fusión, debe asegurarse de que todas las confirmaciones sean rápidas. Para ello, asegúrese de que la rama de características se rebases limpiamente en su línea de desarrollo antes de una combinación como esta:
git checkout master
git checkout -b feature/foo
# make some commits
git rebase master
git checkout master
git merge --ff-only feature/foo
Rebase también tiene una gran cantidad de indicadores, incluido el reajuste interactivo con la bandera -i
, pero es posible que no lo necesites si mantienes las cosas lo más simples posible y deseas conservar todo el historial de tucursal en una combinación.
Usa la bandera --ff-only
Además del rebasamiento, el uso de la bandera --ff-only
asegurará que solo se permitan commits de avance rápido. No se realizará una confirmación si se tratara de una fusión. La página de manual de git-merge (1) dice:
--ff-only
Rehusar fusionar y salir con un estado distinto de cero a menos que el HEAD actual ya esté actualizado o la fusión se pueda resolver como un avance rápido.