tag practices delete create commits commands best git github bitbucket

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.