¿En que momento debo realizar un commit en git?

publicado por: Anonymous

Estoy recién comenzando con git y si bien conozco muy bien su teoría comandos y demás me a costado acostumbrarme en la practica…

Digamos que estoy en un proyecto y me encuentro desarrollando la barra de navegación.. debo hacer el commit al tener la barra completamente lista o en cada paso de la construcción de la barra de navegación?

hacer commits del tipo: Barra de navegación añadida

o del tipo: – Estilos de barra lista
– Links de barra establecidos
etc etc.
Gracias por sus respuestas !

solución

De forma general y no específicamente en Git siempre es recomendable hacer commits seguidos para tener tus cambios versionados y disponibles en el control de código fuente.

De manera específica en Git y respondiendo la pregunta específica que has formulado:

Suponiendo lo siguiente:

  1. Tienes una tarea asignada cuya especificación es crear una barra de navegación
  2. Estas trabajando en un topic branch (también llamado feature branch)

Mi recomendación es la siguiente:

  • Si te sientes a gusto y confiado en que puedes entregar los cambios correspondientes a toda la especificación sin problemas ya que la tarea no es muy compleja, entonces bastará con un solo commit.
  • Si la tarea es demasiado compleja, te recomendaría proponer dividir la tarea en varias subtareas de modo que puedas asociar cada paso particular de la construcción de por ejemplo la barra de navegación a un commit específico.
  • Si la tarea es simple sin embargo consideras que te conviene mas realizar varios commits por el motivo que sea, por ejemplo porque quieres enteder mejor los cambios o te parece mas ordenado, entonces hazlo de esa manera, no hay ningún problema. Si de todas maneras hubiera una política de un checkin por tarea o si luego te arrepientes y consideras que has hecho muchos checkins para algo muy simple siempre tienes la posibilidad de juntarlos en uno solo antes de hacer push mediante lo que se conoce como squash

Al final lo mas importante que debes recordar es lo que menciona @Kristian Damian en su respuesta: Básicamente que cada checkin debe contener cambios que funcionalmente estén completos sin que rompa el código, unit test o proceso de build que tengas establecido.

El resto puede ser muy subjetivo y depende de cada caso y cada persona

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *