Diese Woche habe ich mein Verständnis von Git vertieft, insbesondere bei der Arbeit mit Git-Remotes. Als Voraussetzung für den Umgang mit Remotes sind Kenntnisse im Git-Merging unerlässlich. Letzte Woche habe ich meine ersten Erfahrungen mit Git Merge geteilt und einige Best Practices besprochen. Diese Woche habe ich dieses Wissen bei der Arbeit an einer neuen Funktion angewendet, nicht in meinem eigenen Repository, sondern im Repository eines Mitarbeiters – dem meines Freundes Mayank. Gleichzeitig arbeitete er an einer Funktion in meinem Repository, die es uns ermöglichte, die Remote-Zusammenarbeit mit Git zu üben.
Derzeit verwendet das Tool, das ich in den letzten Wochen entwickelt habe, einen Standardsatz von Werten für Optionen wie Temperatur und Modell, die angewendet werden, wenn Benutzer keine spezifischen Argumente angeben. Das Ziel dieser neuen Funktion bestand darin, die Funktionalität des Tools zu erweitern, indem Unterstützung für das Lesen von Konfigurationseinstellungen aus einer TOML-Datei hinzugefügt wurde, die sich im Home-Verzeichnis des Benutzers befindet.
Wenn ein Benutzer beispielsweise eine Konfigurationsdatei unter C:\Benutzer\Anh\config.toml hat, prüft das Tool nun, ob im Home-Verzeichnis des Benutzers .toml-Dateien vorhanden sind. Wenn eine solche Datei vorhanden ist, liest das Tool die Datei und wendet ihre Werte an, um Standardkonfigurationen festzulegen, wobei die integrierten Standardeinstellungen überschrieben werden. Benutzer können jedoch weiterhin Befehlszeilenargumente angeben, die Vorrang vor den TOML-Dateiwerten haben.
Um diese Funktion zu implementieren, habe ich das toml-Paket verwendet, um den Inhalt der TOML-Konfigurationsdatei zu analysieren:
import * as toml from 'toml';
Da das Tool im Home-Verzeichnis des Benutzers nach einer .toml-Datei sucht, habe ich das integrierte Betriebssystemmodul von Node.js verwendet, um den Home-Verzeichnispfad abzurufen:
const os = require("os"); const homeDir = os.homedir();
Nachdem ich alle Dateien aus dem Home-Verzeichnis des Benutzers gesammelt hatte, habe ich sie durchlaufen, um versteckte Dateien (die mit einem Punkt beginnen) zu finden, die mit .toml enden. Die erste gefundene .toml-Datei wurde als Konfigurationsquelle für das Tool verwendet.
Wie bereits erwähnt, ging es diese Woche darum, Git-Remote-Workflows und die Zusammenführung von Git mit Mayank zu üben. Um an einer Funktion in seinem Repository zu arbeiten, bin ich diesen Schritten gefolgt:
git push origin
Nachdem Mayank seine Änderungen in einen neuen Zweig verschoben und eine Pull-Anfrage (PR) angefordert hatte, wollte ich seinen Code vor der Zusammenführung testen. Hier wurde Git Remote unverzichtbar:
git remote add
git fetch
git checkout -b/
Während des Tests habe ich zwei Hauptprobleme in Mayanks Zweig identifiziert:
// Resolve the path to the configuration file const configPath = path.resolve(__dirname, "../.toml"); // Load configuration from config.toml const config = loadConfig(configPath);
Nachdem ich diese Probleme identifiziert hatte, besprach ich sie mit Mayank über Slack und arbeitete gemeinsam an einer Lösung. Ich habe auch direkt Feedback zu seiner Pull-Anfrage gegeben. Dieser Prozess gab mir das Gefühl, zu einem realen Gemeinschaftsprojekt beizutragen. Sobald ich mit den Korrekturen zufrieden war, habe ich seinen Zweig mit dem Hauptzweig zusammengeführt und ihn in mein Remote-Repository verschoben.
Dieser Prozess der Arbeit mit Git-Remotes und der Zusammenführung war unglaublich lehrreich. Ich fühle mich jetzt sicherer bei der Zusammenarbeit an gemeinsamen Codebasen. Früher fühlte ich mich oft von mehreren Commits und Beiträgen verschiedener Entwickler überfordert, aber jetzt habe ich eine bessere Kontrolle und ein besseres Verständnis für Git-Workflows.
Durch die Arbeit an dieser Funktion und die Integration von Git-Remotes habe ich praktische Erfahrungen gesammelt, die für zukünftige Projekte von unschätzbarem Wert sein werden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3