Cette semaine, j'ai approfondi ma compréhension de Git, en particulier en travaillant avec les télécommandes Git. Comme condition préalable, la familiarité avec la fusion Git est essentielle lorsqu'il s'agit de télécommandes. La semaine dernière, j'ai partagé ma première expérience avec la fusion Git et discuté de quelques bonnes pratiques. Cette semaine, j'ai appliqué ces connaissances en travaillant sur une nouvelle fonctionnalité, non pas dans mon propre référentiel, mais dans le référentiel d'un collaborateur, celui de mon ami Mayank. Parallèlement, il a travaillé sur une fonctionnalité de mon dépôt, nous permettant de pratiquer la collaboration à distance grâce à Git.
Actuellement, l'outil que j'ai développé au cours des dernières semaines utilise un ensemble de valeurs par défaut pour des options telles que la température et le modèle, qui sont appliquées lorsque les utilisateurs ne fournissent pas d'arguments spécifiques. L'objectif de cette nouvelle fonctionnalité était d'étendre les fonctionnalités de l'outil en ajoutant la prise en charge de la lecture des paramètres de configuration à partir d'un fichier TOML situé dans le répertoire personnel de l'utilisateur.
Par exemple, si un utilisateur dispose d'un fichier de configuration dans C:\User\Anh\config.toml, l'outil vérifiera désormais l'existence de fichiers .toml dans le répertoire personnel de l'utilisateur. Si un tel fichier est présent, l'outil lit le fichier et applique ses valeurs pour définir les configurations par défaut, remplaçant les valeurs par défaut intégrées. Cependant, les utilisateurs peuvent toujours fournir des arguments de ligne de commande, qui auront priorité sur les valeurs du fichier TOML.
Pour implémenter cette fonctionnalité, j'ai utilisé le package toml pour analyser le contenu du fichier de configuration TOML :
import * as toml from 'toml';
Étant donné que l'outil recherchera un fichier .toml dans le répertoire personnel de l'utilisateur, j'ai utilisé le module os intégré de Node.js pour récupérer le chemin du répertoire personnel :
const os = require("os"); const homeDir = os.homedir();
Après avoir rassemblé tous les fichiers du répertoire personnel de l'utilisateur, je les ai parcourus pour trouver les fichiers cachés (ceux commençant par un point .) qui se terminent par .toml. Le premier fichier .toml trouvé a été utilisé comme source de configuration de l'outil.
Comme mentionné précédemment, cette semaine impliquait la pratique des workflows à distance Git et la fusion de Git avec Mayank. Pour travailler sur une fonctionnalité de son référentiel, j'ai suivi ces étapes :
git push origin
Une fois que Mayank a poussé ses modifications vers une nouvelle branche et demandé une pull request (PR), j'ai voulu tester son code avant de fusionner. C'est là que git remote est devenu essentiel :
git remote add
git fetch
git checkout -b/
Lors des tests, j'ai identifié deux problèmes clés dans la branche Mayank :
// Resolve the path to the configuration file const configPath = path.resolve(__dirname, "../.toml"); // Load configuration from config.toml const config = loadConfig(configPath);
Après avoir identifié ces problèmes, j'en ai discuté avec Mayank via Slack et j'ai collaboré pour trouver une solution. J'ai également fourni des commentaires directement sur sa pull request. Ce processus m'a donné l'impression de contribuer à un projet collaboratif réel. Une fois satisfait des correctifs, j'ai fusionné sa branche dans la branche principale et je l'ai poussée vers mon référentiel distant.
Ce processus de travail avec les télécommandes Git et de fusion a été incroyablement éducatif. Je me sens désormais plus en confiance pour collaborer sur des bases de code partagées. Auparavant, je me sentais souvent dépassé par les multiples commits et contributions de différents développeurs, mais j'ai désormais un meilleur contrôle et une meilleure compréhension des flux de travail Git.
En travaillant sur cette fonctionnalité et en intégrant les télécommandes Git, j'ai acquis une expérience pratique qui sera inestimable pour les projets futurs.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3