"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Primera vez trabajando con Git remoto

Primera vez trabajando con Git remoto

Publicado el 2024-11-08
Navegar:965

First time working with Git remote

Introducción

Esta semana, profundicé mi comprensión de Git, particularmente trabajando con controles remotos de Git. Como requisito previo, la familiaridad con la fusión de Git es esencial cuando se trata de controles remotos. La semana pasada, compartí mi primera experiencia con la combinación de Git y hablé sobre algunas de las mejores prácticas. Esta semana, apliqué ese conocimiento mientras trabajaba en una nueva característica, no en mi propio repositorio, sino en el repositorio de un colaborador: el de mi amigo Mayank. Al mismo tiempo, trabajó en una función de mi repositorio que nos permitía practicar la colaboración remota usando Git.

Nueva función: compatibilidad con la configuración TOML

Actualmente, la herramienta que he estado desarrollando durante las últimas semanas utiliza un conjunto predeterminado de valores para opciones como temperatura y modelo, que se aplican cuando los usuarios no proporcionan argumentos específicos. El objetivo de esta nueva característica era ampliar la funcionalidad de la herramienta agregando soporte para leer los ajustes de configuración desde un archivo TOML ubicado en el directorio de inicio del usuario.

Por ejemplo, si un usuario tiene un archivo de configuración en C:\User\Anh\config.toml, la herramienta ahora verificará la existencia de archivos .toml en el directorio de inicio del usuario. Si dicho archivo está presente, la herramienta lo lee y aplica sus valores para establecer configuraciones predeterminadas, anulando los valores predeterminados integrados. Sin embargo, los usuarios aún pueden proporcionar argumentos de línea de comandos, que tendrán prioridad sobre los valores del archivo TOML.

Implementación

Para implementar esta característica, utilicé el paquete toml para analizar el contenido del archivo de configuración TOML:


import * as toml from 'toml';


Dado que la herramienta buscará un archivo .toml en el directorio de inicio del usuario, utilicé el módulo del sistema operativo integrado de Node.js para recuperar la ruta del directorio de inicio:


const os = require("os");
const homeDir = os.homedir();


Después de reunir todos los archivos del directorio de inicio del usuario, los repasé para encontrar archivos ocultos (aquellos que comienzan con un punto .) que terminan en .toml. El primer archivo .toml encontrado se utilizó como fuente de configuración para la herramienta.

Notas

  • La herramienta buscará un "archivo de puntos" oculto (por ejemplo, .config.toml) en el directorio de inicio, que contiene opciones predeterminadas en formato TOML.
  • Si falta el archivo, la herramienta lo ignorará y continuará con la configuración predeterminada como en el archivo config.js.
  • Si el archivo existe pero no es TOML válido, la herramienta se cerrará con un mensaje de error apropiado.
  • Si el archivo TOML existe y ningún argumento de la línea de comandos anula sus valores, se utilizará la configuración del archivo TOML (por ejemplo, modelo predeterminado).
  • La herramienta ignorará cualquier opción no reconocida en el archivo TOML para garantizar la compatibilidad con versiones anteriores.

Proceso de colaboración remota

Como se mencionó anteriormente, esta semana implicó practicar flujos de trabajo remotos de Git y la fusión de Git con Mayank. Para trabajar en una función de su repositorio, seguí estos pasos:

  1. Bifurcar y clonar: bifurqué su repositorio y lo cloné en mi máquina local.
  2. Crear una sucursal: Creé una nueva sucursal en mi copia local y comencé a trabajar en la nueva función.
  3. Confirmar y enviar: después de realizar cambios, los comprometí en la rama y envié la rama a mi repositorio bifurcado.
 git push origin 

Una vez que Mayank envió sus cambios a una nueva rama y solicitó una solicitud de extracción (PR), quise probar su código antes de fusionarlo. Aquí es donde git remoto se volvió esencial:

  • Agregar un control remoto: Agregué su repositorio como remoto a mi máquina local:

  git remote add  


  • Obtener confirmaciones: Obtuve las últimas confirmaciones y ramas de su repositorio:

git fetch 


  • Rama de seguimiento: Creé una rama de seguimiento para seguir sus actualizaciones sin afectar directamente mi repositorio:

git checkout -b  /


Identificación y resolución de errores

Durante las pruebas, identifiqué dos problemas clave en la sucursal de Mayank:

  • Configuración incorrecta del directorio: la herramienta leía incorrectamente el archivo TOML desde la raíz del proyecto en lugar del directorio de inicio del usuario.
  • Resolución de ruta: el código utilizaba una ruta de archivo relativa, lo que provocaba errores cuando lo ejecutaba en mi máquina. Sugerí cambiar a una ruta absoluta

// Resolve the path to the configuration file
const configPath = path.resolve(__dirname, "../.toml");

// Load configuration from config.toml
const config = loadConfig(configPath);


Después de identificar estos problemas, los discutí con Mayank a través de Slack y colaboré para encontrar una solución. También proporcioné comentarios directamente sobre su solicitud de extracción. Este proceso me hizo sentir como si estuviera contribuyendo a un proyecto colaborativo del mundo real. Una vez que estuve satisfecho con las correcciones, fusioné su rama con la rama principal y la envié a mi repositorio remoto.

Conclusión

Este proceso de trabajar con controles remotos de Git y fusionarlos ha sido increíblemente educativo. Ahora me siento más seguro al colaborar en bases de código compartidas. Anteriormente, a menudo me sentía abrumado por las múltiples confirmaciones y contribuciones de diferentes desarrolladores, pero ahora tengo un mejor control y comprensión de los flujos de trabajo de Git.

Al trabajar en esta función e integrar controles remotos de Git, obtuve experiencia práctica que será invaluable para proyectos futuros.

Declaración de liberación Este artículo se reproduce en: https://dev.to/anhchienvu/first-time-working-with-git-remote-5dbl?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3