¿Cómo se usa git en "desarrollo individual" (sin equipo)?

Trabajo como un profesional independiente en proyectos pequeños, y todos los hago a solas, sin un equipo.

Traté de usar el Git Flow. Al principio, todo estaba bien. Hubo twigs de características, pequeñas confirmaciones con descripciones significativas, fusiones.

Pero el process siempre termina con compromisos enormemente grandes directamente a la twig principal, con descripciones como "gran actualización", "alguna actualización".

¿Cómo lo afrontas? ¿Necesito Git Flow en mi caso o no?

Pero el process siempre termina con compromisos enormemente grandes directamente a la twig principal, con descripciones como "gran actualización", "alguna actualización".

Esto es lo que git rebase --interactive y git add --patch son para.

Esto es lo primero que tienes que hacer: tienes que convertirte en una persona loca. No, dos locos, cada uno convencido de que el otro es otra persona. No, espera, eso no está bien. Tres locos.

Está el (actualmente en su sano juicio) que ya conoce, que ha hecho este trabajo y no ve nada más que decir al respecto. Entonces, el primer paso para una loca y una historia sensata es el nuevo (pero un fragment puramente imaginario) de usted, el revisor del código, que no sabe absolutamente nada sobre los cambios que ha realizado hasta que ve el post de compromiso y el parche. Debes ser respetuoso del time de esa persona. La tercera parte, que lo lleva de la peculiaridad útil a la locura completa, es el patito de goma . Es una pregunta abierta si transportar un pato de goma real o simplemente tener un confidente imaginario que resulta ser un pato de goma es más perturbador para el sentido de la realidad de los demás (por no decir nada del suyo).

Entonces, dos locos y un pato.

Si el patán de goma no puede entender su explicación, o el revisor no puede entender su código, entonces simplifíquelo hasta que pueda. Rompe los compromisos en partes independientes que no rompan la construcción y no dejes al revisor o al pato preguntándose por qué todo en cada uno debe estar allí para que todo funcione bien.

Mira, si lo configuras para que lo correcto tenga un gran valor de entretenimiento, el mundo sea bueno. Si no lo haces, será, en comparación, al less desagradable y aburrido. El único momento para no hacer esto es cuando ya puedes sentir lo mal que vas a necesitar que esto se haga en unos meses, entonces es solo una pérdida de time. Pero si vas a perderlo, asegúrate de get algo aún más valioso a cambio.

rebase y add son necesarios ya sea que te estés divirtiendo o no.

Es una cuestión de disciplina, supongo.

Para mí, es muy útil tener compromisos pequeños que describan el cambio exacto que contienen. Utilizo este flujo en mis entornos de trabajo donde trabajo con un equipo, pero también para proyectos que hago como afición o para proyectos en el lado.

Ayuda si tienes una UI gráfica. Yo uso Atlassian SourceTree, lo que hace que sea muy fácil seleccionar cambios en la línea. Así que a veces he estado codificando por un time, haciendo muchos cambios, y los voy a seguir representando uno a uno y confirmo cada cambio con un post útil.

Pero es mejor hacer un cambio a la vez, verificar que funcione y confirmarlo. Si se compromete con frecuencia, siempre tendrá algo a lo que recurrir si comete un gran error.

Personalmente, no uso el desarrollo, lanzamiento y otros verbos de gitflow, aunque sí creo twigs separadas para las diferentes funciones que desarrollo. Eso me permite dejar de lado los cambios mientras están en progreso y realizar requestes de extracción por separado (lo que probablemente sea más útil en un equipo).