plugin mac bugfix git git-flow

mac - git flow windows



¿Por qué no se sigue la "característica de flujo de git"? (2)

Parece que está utilizando la git flow feature pull , donde debería usar la git flow feature track , ya que crea una rama local que rastrea el control remoto.

Realmente no puedo pensar por qué alguna vez git flow feature pull . Crea una sucursal local sin seguimiento configurado, ¡y no sé por qué sería útil! También tiene un mal nombre, ya que un tirón debe involucrar una fusión, y esto no.

Digamos que he creado una nueva característica con la característica git flow feature start FEATURENAME

luego lo publicó con la git flow feature publish FEATURENAME

Ahora mi colega quiere colaborar en esta función conmigo, así que él hace

git flow feature pull FEATURENAME

Esto crea una nueva rama en su repositorio local, basada en la rama de características en el repositorio remoto. Sin embargo, esto no configura su rama de función local para rastrear la rama de función remota, por lo que ahora tiene que rastrear esta rama manualmente.

¿Cuál es el razonamiento detrás de este paso adicional? ¿Por qué no tener configurado también el comando de feature pull ?

¿Cuál es la diferencia de flujo de trabajo entre la git flow feature pull git flow feature track ?

¿En qué casos utilizarías cada uno de esos?


Esta respuesta de brainimus ilustra el aspecto colaborativo de una rama de función, utilizando el aspecto de solicitud de extracción de GitHub que facilita la revisión del código y la parte de discusión:

  1. Crear una rama de características: git flow feature start module_1
  2. El código se actualiza en la rama característica.
  3. A medida que se confirman los cambios, se envían a GitHub (o una vez al final, si se prefiere)
  4. Cuando se completa la función, se abre una solicitud de extracción en GitHub que compara el develop y la función module_1
  5. El equipo revisa la solicitud de extracción y hace comentarios.
  6. Cualquier cambio de la solicitud de extracción se realiza en la rama de características
  7. Una vez que se incorporan todos los cambios en la rama de características, la rama de características finaliza: git flow feature finish module_1
  8. La rama de develop se empuja a GitHub (GitHub marcará automáticamente la solicitud de extracción como cerrada / fusionada cuando esto ocurra)

Eso deja el tema de cerrar esa sucursal sin embargo:

Quien ejecute git flow feature finish module_1 tendrá el lujo de que se elimine su rama de función local, pero cualquier persona que visite la sucursal deberá hacerlo manualmente si quiere

Recomendaría un git fetch --prune , especialmente porque Git 1.8.5 puede establecer ese paso de "podar" en su configuración : un simple git fetch eliminará su rama de funciones si se ha eliminado en el lado del servidor (por otra persona). haciendo un git flow feature finish )

La función gitflow rastrea si la edición AVH simplemente verifica y rastrea la rama, es decir, asegúrese de que la rama local se convierta en una rama de seguimiento local, con una rama ascendente (una rama de seguimiento remoto) asociada a ella.
Es decir, configura la branch.<name>.remote y branch.<name>.merge .

Si realiza una git flow feature pull (para una nueva rama de características local), pero en realidad significaba que el git flow feature track , todo lo que tendría que hacer sería hacer que su sucursal existente rastreara la anterior :

git branch -u origin/feature

Generalmente:

  • empiezas con la git flow feature track ,
  • luego mantienes actualizada tu rama local con la función de git flow feature pull
  • cambia entre las ramas de características con la git flow feature checkout

Como se menciona en " Getting Started - Git-Flow ":

git flow feature pull

Esto se hará cuando más de una persona trabaje en una función en conjunto .
Debería usar este comando si desea realizar una extracción en la rama de la función remota de la siguiente manera:

git flow feature pull [alias] [featureName]

Al usar este comando, obtendrás el código fuente que han sido empujados por tus compañeros de equipo y sus cambios se fusionarán automáticamente en tu sucursal local .
Si hay conflictos, serás el desafortunado o el afortunado que haga las resoluciones de estos conflictos.