Prácticas recomendadas de Git: cómo sacarle el máximo partido a (g)

Publicado: 2019-07-02

Tirar, buscar, comprometer, empujar, fusionar, volver a basar: ¿estos términos han logrado abrirse camino en su vida cotidiana? Cuando Linus Torvalds creó su primera versión de Git, lo describió como "el rastreador de contenido estúpido". Avance rápido hasta el día de hoy, este software gratuito de código abierto es ahora el sistema de control de versiones más popular.

¿Qué es Git?

¿No desearía poder retroceder en el tiempo a veces, para poder tomar una mejor decisión o hacer las cosas de manera diferente? Bueno, en el mundo de la tecnología y la codificación, puedes. Git es un sistema de control de versiones distribuido de código abierto que guarda versiones de su valioso código cada vez que realiza cambios o adiciones. Entonces, siempre que necesite retroceder, simplemente elija la versión de trabajo y ¡listo! Git también permite trabajar sin interrupciones dentro de los equipos, ya que los desarrolladores trabajan en sus copias locales individuales al mismo tiempo. Se realiza un seguimiento de cada cambio de cada miembro del equipo, manteniendo así la transparencia en un flujo organizado. Entonces, ¿qué es GitHub? GitHub es un servicio de alojamiento de repositorios para Git que también tiene muchas funciones para optimizar su sistema de control de versiones.
Flujo de trabajo de Git

Cada organización tiene un flujo de trabajo de Git diferente. El flujo de trabajo de Git más exitoso es el que le brinda a su equipo suficiente espacio para la productividad mientras maximiza la efectividad de sus resultados. Debe ser escalable con el tamaño de su equipo y debe minimizar la cantidad de conflictos que puedan surgir. El flujo de trabajo de Git centralizado es la base sobre la que se construyen otros flujos de trabajo de Git, como el flujo de trabajo de ramificación de funciones, el flujo de trabajo de bifurcación, el flujo de trabajo de Gitflow, etc. Se debe planificar un flujo de trabajo para mejorar y complementar la cultura de su organización. Para cada equipo, su propio flujo de trabajo de Git.

¿Por qué usar Git?

1. La arquitectura distribuida

A diferencia de los sistemas de control de versiones centralizados que obligan a los desarrolladores a acceder a un único repositorio central para poder "verificar" y confirmar cambios en los archivos individuales, Git sigue un enfoque distribuido. En la arquitectura distribuida, cada desarrollador tiene sus propias copias locales de todo el repositorio central, lo que les permite trabajar sin conexión, acceder al historial de revisión completo y realizar ramificaciones y fusiones sencillas.

2. Potente rendimiento

Ramificar, fusionar, comprometer, etc.son realmente fáciles y rápidos con el flujo de trabajo de Git debido a sus algoritmos inteligentes de conocimiento profundo que comprenden los patrones de acceso al T.


3. Es seguro

Git almacena todo el contenido de los archivos, incluidas las relaciones entre las versiones y los directorios, utilizando criptográficamente un SHA1 como algoritmo de hashtag. Cualquier cambio de código accidental o malicioso es completamente rastreable.


4. De código abierto

Al ser de código abierto, Git es gratuito, cuenta con un buen apoyo de la comunidad, se analiza continuamente la calidad y se respalda con una gran cantidad de documentación y tutoriales para los alumnos.


5. Lanzamientos más rápidos

El desarrollo distribuido de Git y la fácil ramificación y creación de nuevas funciones alienta a los desarrolladores a realizar cambios más frecuentes en un flujo de trabajo ágil.

Git - Arquitectura distribuida

Git - Arquitectura distribuida

Mejores prácticas para Git

  • ¿Nuevo proyecto? Nuevo repositorio

Simplemente tiene un buen sentido organizacional crear un nuevo repositorio para cada nuevo proyecto en el que desee comenzar a trabajar. Una vez hecho esto, empújelo a GitHub.

  • ¿Nueva caracteristica? Diversificarse

Ahora que ha creado un nuevo proyecto, ¿qué tal si crea algunas funciones nuevas de Git? Git Branching le permite crear y administrar un flujo de trabajo organizado dentro de su repositorio. A los miembros del equipo se les pueden asignar varias ramas de Git, lo que les permite trabajar simultáneamente pero de manera aislada. Siempre dale un significado a tu rama de git para que otros sepan exactamente en qué estás trabajando.

  • Empiece el día manteniéndose actualizado

Siempre "reajuste" u obtenga la última versión, la más actual de su proyecto (maestro) antes de comenzar a trabajar en las funciones que creó / le asignó. No desea realizar cambios en archivos obsoletos.

  • Tener puntos de control periódicos

No guarde sus confirmaciones para un gran cambio. "Realice" pequeños cambios con frecuencia para que el código sea más fácil de comprender para usted y los miembros de su equipo. Revertir y rastrear también es más fácil cuando los cambios son pequeños y frecuentes.

  • Guarda tu trabajo

A menudo, puede encontrarse con situaciones en las que está trabajando en una rama de Git pero de repente ha recordado que necesita trabajar en otra rama pero no quiere "confirmar" esos cambios a medio hacer. O simplemente puede querer una copia de trabajo limpia. "Git Stash" al rescate. ¡Stashing te permite guardar los cambios sin terminar en una pila a la que puedes volver en cualquier momento!

  • Aplastarlos se compromete

Tener menos confirmaciones en su historial hace que sea más fácil monitorear y rastrear dónde salió mal. Si desea mantener un historial de confirmaciones limpio, este es para usted. Aplasta y fusiona todas tus confirmaciones en una cuando se fusiona la solicitud de extracción.

  • Confirmar mensajes

Siempre proporcione información clara y comprensible en su mensaje de compromiso. Comience escribiendo un breve resumen de sus cambios, deje una línea en blanco y luego continúe con una descripción detallada del cambio. No quieres que tu historial de confirmaciones termine luciendo así: /

mensaje de git-commit

https://xkcd.com/1296/

  • No cambies la historia

Una vez que haya confirmado sus cambios en el repositorio, no retroceda y cambie el historial. Aunque Git te permite hacer eso y reescribir la historia pública, nunca es una buena práctica hacerlo. Tanto para ti como para tu equipo.

  • Aplicar un parche de Git

En ocasiones, cuando no tiene acceso de escritura al repositorio pero aún desea corregir un error, aplique un parche de Git. Recuerde siempre clonar el repositorio principal y luego crear una rama para la nueva función. Cuando tenga su archivo .patch listo, siempre obtenga una vista previa y haga un ensayo para verificar si hay errores. Git aplique el parche (git apply -R path / file.patch) una vez hecho. NO olvide probar y verificar

  • No deje las solicitudes de extracción por mucho tiempo

Una solicitud de "extracción" abierta puede crear conflictos tarde o temprano. No los deje desatendidos por más de 2 días. Siempre revise el código y, si está bien implementarlo, combine la solicitud de extracción. Esto no solo acelerará el proceso de envío, sino que también evitará conflictos de código.

  • Mejor organización con herramientas de gestión de proyectos

Si ha estado utilizando herramientas de gestión de proyectos como Redmine, es una buena práctica utilizarlas junto con Git para poder gestionar mejor a varios miembros del equipo y sus tareas. Crear sus ramas de Git con la tarea de Redmine como nombre es una de las mejores prácticas de Git, ya que permite una mejor transparencia y organización.

Herramientas de gestión de proyectos de Git

Tarea creada en Redmine

Creando rama git

Crear una rama con el ID y el nombre de la tarea
  • GitLab CI / CD

El uso de una herramienta de integración continua / implementación continua como esta le permite probar y verificar si hay errores y errores y garantiza la compatibilidad con los estándares de código. Estos trabajos se realizan después de que el código se envía al servidor de ensayo.

Gitlab CI

Lista de trabajos de GitLab CI / CD

Infografía de mejores prácticas de Git