2012-06-26 17 views
27

He estado usando git flow por un tiempo. Estaba buscando un modelo de bifurcación para solucionar problemas y errores encontrados en la rama de desarrollo. Sé que podríamos usar la revisión pero es para la rama principal, o correcciones rápidas de errores para la producción.Git flow branch para arreglar un error

Solucionar un error en el desarrollo no es una característica. Siempre pude reiniciar el flujo de git y sobrescribir la rama de prefijo por defecto a bug /. Pero necesitaba reiniciar si también necesitaba comenzar una nueva función. ¿Es esta una buena práctica o hay alguna técnica para manejar esto?

+0

... Me _think_ esto pertenece a los programadores. SE? –

Respuesta

11

La idea de fijar un error en la rama development, en contraposición a git flow hotfix (en master) es que:

  • por lo general arreglar el fallo en el desarrollo HEAD (Es sólo otro de comprometerse que fija una cierta edición introducido por otras confirmaciones)
  • Hace una revisión sobre una versión/etiqueta específica de maestro ("rama production") en una rama dedicada, y la fusionará o no la restituirá (si la revisión es muy específica de un cierta versión, y ya no es relevante en las versiones posteriores, no la fusionará de nuevo)

Así que no creo que necesita una operación dedicada rama/"git flow": Simplemente haga cometer un bien identificados y empuje en la parte superior de la rama development.

+3

También hay un comentario del autor de gitflow que dice exactamente lo que dices: https://github.com/nvie/gitflow/issues/24 – hakunin

22

Si la solución que necesita aplicar es solo una corrección de confirmación, solo lo haría en el desarrollo sin crear una rama, si implica múltiples confirmaciones, simplemente use el comando git flow feature. El software actualmente hará un git merge -ff cuando finalice una rama de función con solo una confirmación, que en sus registros se verá igual que una confirmación en el desarrollo.

Si desea indicar en su registro que esta característica sería una corrección de error, podría simplemente nombrar la rama algo así como "bugfix-missing-parameter" o "issue-34-not-reading-file-properly"

Puedo ver cómo la función de palabra podría implicar "algo nuevo" en lugar de "corregir", pero eso son solo palabras. Si creara un nuevo comando para una solución, el código se vería exactamente igual que el código de git flow feature, así que no veo ningún beneficio en eso.

Actualización 19 de noviembre de, el año 2015

Desde la versión 1.9.0 del gitflow AVH Edition tiene una orden de corrección de errores. Es lo mismo que la función, pero la rama es el prefijo con corrección de errores en lugar de característica.

+0

No puedo encontrar la versión 1.9.0 de git-flow. ¿Puedes ayudarme a instalarlo? –

+0

Ver la wiki en https://github.com/petervanderdoes/gitflow-avh/wiki –

+0

Bueno, ya había estudiado esto antes. Pero instala la versión 1.6.1 AVH Edition. Yo uso Ubuntu. –

0

git-flow-avh es lo que quiere

para OSX:

  • brew uninstall git-flow
  • brew uninstall git-flow-avh

Dentro de la carpeta del proyecto:

  • git init
  • debería ver entre las indicaciones - Bugfix branches? [bugfix/] que no habría sido un indicador de la norma git-flow
  • iniciar una nueva corrección de errores - git flow bugfix start <branch name>