Logotipo de Zephyrnet

10 técnicas de Git que debes saber antes de unirte a un equipo

Fecha:

¿Has estado usando Git por algún tiempo pero nunca en un ambiente de equipo? Estás familiarizado con los fundamentos de Git pero no estoy seguro de cómo los equipos grandes usan Git en el trabajo?

En esta publicación, hablaré sobre las técnicas básicas de Git con las que debes estar familiarizado antes de unirte a un equipo. Los he enumerado en un orden que lógicamente seguirías para contribuir a un repositorio, ya que la importancia de cada paso es primordial. Pasemos ahora a la lista.

1. Clonación: Comenzando en un equipo

Si ha utilizado Git para proyectos personales, es posible que solo haya inicializado un proyecto desde cero y lo haya agregado con el tiempo. Cuando trabaja en una base de código existente, el primer paso es clonar la base de código en su sistema local. Esto le permite trabajar en su copia del repositorio sin ninguna interferencia de otros cambios.

Para clonar un repositorio, ejecute el git clone comando, seguido de la ruta al repositorio:

git clone /path/to/repo

Si su fuente no reside en el mismo sistema, puede enviar SSH a un sistema remoto y clonar también:

git clone username@remote_system_ip:/path/to/repo/on/remote

Si está clonando desde una fuente en Internet, simplemente puede agregar la URL:

git clone https://github.com/sdaityari/my_git_project.git

Cada vez que clonas un repositorio, tienes la elección de múltiples protocolos para conectarse a la fuente. En el ejemplo de GitHub anterior, he usado el https protocolo.

2. Gestión de controles remotos en Git

Una vez que haya clonado su repositorio, aún mantiene un puntero a la fuente. Este puntero es un ejemplo de un control remoto en Git. Un control remoto es un puntero a otra copia del mismo repositorio. Cuando clonas un repositorio, un puntero origin se crea automáticamente y apunta a la fuente.

Puede consultar una lista de controles remotos en un repositorio ejecutando el siguiente comando:

git remove -v

Para agregar un control remoto, puede usar el git remote add mando:

git remote add remote_name remote_address

Puede eliminar un control remoto utilizando el git remote remove mando:

git remote remove remote_name

Si desea cambiar la dirección de un control remoto, puede usar el set-url mando:

git remote set-url remote_name new_remote_address

3. Ramificación en Git

La mayor ventaja de Git sobre otros sistemas de control de versiones es el poder de sus sucursales. Antes de saltar a lo esencial de la ramificación, te estarás preguntando que rama es. Una rama es un puntero a una confirmación en su repositorio, que a su vez apunta a su predecesor. Por lo tanto, una rama representa una lista de confirmaciones en orden cronológico. Cuando crea una rama, efectivamente crea solo un nuevo puntero a una confirmación. Sin embargo, en esencia, representa un nuevo camino de desarrollo independiente.

Si ha estado trabajando en su propio proyecto, es posible que nunca haya utilizado ramas de manera consciente. Por defecto, Git usa el master rama para el desarrollo. Cualquier nueva confirmación se agrega a esta rama.

La ramificación es necesaria para que Git bifurque líneas de trabajo en un proyecto. Al mismo tiempo, puede haber muchos desarrolladores que están trabajando en una variedad de problemas diferentes. Idealmente, estos problemas se trabajan en diferentes ramas para garantizar la separación lógica del nuevo código hasta la revisión y fusión del código.

Para verificar una lista de ramas y la rama activa actual, ejecute el siguiente comando:

git branch

Para crear una nueva rama, ejecute el siguiente comando:

git branch new_branch

Aunque Git crea una nueva rama, tenga en cuenta que su rama activa sigue siendo la anterior. Para comenzar el desarrollo en una nueva sucursal, ejecute lo siguiente:

git checkout new_branch

Para crear una nueva rama y cambiar la rama activa, ejecute el siguiente comando:

git checkout -b new_branch

Para cambiar el nombre de la rama actual, ejecute el siguiente comando:

git branch -m new_renamed_branch

Ingrese al -D opción para eliminar una rama:

git branch -D new_renamed_branch

Aquí hay una guía detallada sobre ramificación en Git.

4. Actualice su repositorio local: fusión

Si bien hemos comprobado los conceptos básicos de ramificación en Git, el siguiente paso lógico es fusionar una rama en su rama base cuando haya terminado de trabajar en un problema. Para fusionar una rama, ejecute el siguiente comando:

git checkout base_branch
git merge new_branch

Si bien puede parecer un proceso fácil, la fusión es potencialmente el proceso que consume más tiempo en Git, ya que puede generar conflictos.

5. Manejar conflictos

Imagine que está trabajando en un archivo en una nueva sucursal. Después de confirmar los cambios, solicita a Git que combine su nueva sucursal con su sucursal base. Sin embargo, la misma parte del mismo archivo en la rama base se ha actualizado desde que creó la nueva rama. ¿Cómo decide Git qué cambios mantener y qué cambios descartar?

Git siempre intenta no perder ningún dato en el proceso de fusión. Si los cambios en el mismo archivo se realizaron en diferentes partes del archivo, podría escapar manteniendo ambos conjuntos de cambios. Sin embargo, si Git no puede decidir qué cambios mantener, genera un conflicto.

Cuando se ha planteado un conflicto, se ejecuta git status en su repositorio muestra una lista de archivos que se modificaron en ambas ramas que se fusionan. Si abre cualquier archivo con un conflicto, notará el siguiente conjunto de líneas:

<<<<<<<< HEAD
...
...
========
...
...
>>>>>>>> new_branch

La parte del archivo entre <<<<<<<< HEAD y ======== contiene ese código que está presente en la rama base. Las líneas de código entre ======== y >>>>>>>> new_branch están presentes en el new_branch rama. El desarrollador que está fusionando el código tiene la responsabilidad de decidir qué parte del código (o una combinación de ambas partes) debe incluirse en la fusión. Una vez editado, elimine los tres conjuntos de líneas que se muestran, guarde el archivo y confirme los cambios.

6. Sincronice los cambios con el control remoto

Si bien hemos discutido cómo confirmar el código en nuevas sucursales y fusionarlo con la rama base, veamos ahora cómo puede sincronizar el código con el control remoto. Antes de poder publicar sus cambios en el control remoto, debe actualizar su copia local del repositorio para tener en cuenta los cambios que puedan haber ocurrido desde su última actualización. Para actualizar los cambios desde el control remoto, ejecute el siguiente comando:

git pull remote remote_branch:local_branch

La git pull El comando primero descarga los datos del control remoto y luego se fusiona con la rama local como se especifica en el comando. También pueden surgir conflictos al extraer cambios desde un control remoto. En tal caso, la última línea en un archivo de conflicto contendría >>>>>>>> commit_hash en lugar de >>>>>>>> new_branch, Donde commit_hash sería el hash de identificación para la confirmación que se agrega a su rama.

Para publicar cambios en el control remoto después de fusionarse con el último código del control remoto, use el git push mando:

git push remote local_branch:remote_branch

7. Git en la nube: bifurcación

Si su equipo trabaja en la nube, se le presenta un concepto adicional llamado fork. Una bifurcación es una copia del repositorio central de la nube bajo su nombre de usuario. Tiene acceso de escritura a su bifurcación, que es un lugar seguro para impulsar los cambios sin afectar el repositorio original.

Esto afecta el mismo paso técnico que cubrí anteriormente. Clonas tu tenedor, entonces el origin de su repositorio local apunta a su bifurcación en la nube. ¿Cómo se obtienen las actualizaciones del último repositorio? Necesita agregar manualmente un control remoto, upstream, que apunta al repositorio original.

Si bien puede publicar fácilmente los cambios en su bifurcación, ¿cómo consigue que se acepte un nuevo código en el repositorio original? Eso nos lleva al siguiente paso.

8. Revisiones de código a través de solicitudes de extracción

Una solicitud de extracción es una solicitud para fusionar código de una rama a otra. Es un concepto que se ha desarrollado desde que los servicios en la nube para Git se hicieron populares. Una solicitud de extracción resume la comparación entre las dos ramas en cuestión e inicia una discusión entre el desarrollador y los administradores de la organización.

Una conversación en GitHub

Una revisión del código puede culminar en más cambios antes de que pueda fusionarse. Cuando los administradores están satisfechos con los cambios, se pueden combinar con el repositorio.

9. Conozca los flujos de trabajo de Git

Cuando trabajas solo en un solo proyecto, probablemente estés usando solo una rama. Sin saberlo, se está adhiriendo al flujo de trabajo centralizado o troncal, donde todos los cambios se realizan en una sola rama.

El siguiente flujo de trabajo más complejo es el flujo de trabajo de la rama de características, donde se atribuye una sola rama a cada característica o corrección de errores. Ningún desarrollo ocurre directamente en el master or development .

Un flujo de trabajo de Git que abarca una amplia gama de situaciones es el flujo de trabajo de Gitflow. Tiene ramas separadas para desarrollo, características, lanzamientos y revisiones.

Aquí hay una guía detallada sobre Flujos de trabajo de Git.

10. Manejar archivos grandes: Git LFS

Si bien Git hace un gran trabajo al manejar archivos de texto, no puede rastrear cambios en archivos binarios y ejecutables. Si bien puede agregar dichos archivos a Git, podría generar un gran tamaño de repositorio con un aumento en el número de confirmaciones.

La solución es usar Almacenamiento de archivos grandes de Git, que maneja archivos binarios grandes a través de Git. Esta herramienta almacena estos archivos en la nube y los reemplaza con punteros de texto. Aquí hay una implementación de usando Git LFS para rastrear archivos de diseño de Photoshop.

OTRAS LECTURAS

En esta publicación, he hablado sobre varias técnicas de Git que pueden ayudarte cuando te unes a un equipo por primera vez. Espero que te haya ayudado en tu preparación para el futuro. ¿Me perdí algo? Déjame saber en Twitter!

Para una comprensión más profunda de Git, consulte estos recursos:

  • Saltar Inicio Git: Una guía concisa que lo pondrá al día en un solo fin de semana.
  • Git profesional: Una inmersión más profunda que te llevará por el camino hacia el dominio de Git.

Fuente: https://www.sitepoint.com/git-techniques-to-know-before-you-join-a-team/?utm_source=rss

punto_img

Información más reciente

punto_img