„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Zum ersten Mal mit Git Remote arbeiten

Zum ersten Mal mit Git Remote arbeiten

Veröffentlicht am 08.11.2024
Durchsuche:814

First time working with Git remote

Einführung

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.

Neue Funktion: Unterstützung für TOML-Konfiguration

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.

Durchführung

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.

Notizen

  • Das Tool sucht im Home-Verzeichnis nach einer versteckten „Punktdatei“ (z. B. .config.toml), die Standardoptionen im TOML-Format enthält.
  • Wenn die Datei fehlt, ignoriert das Tool dies und fährt mit den Standardeinstellungen wie in der Datei config.js fort.
  • Wenn die Datei existiert, aber kein gültiges TOML ist, wird das Tool mit einer entsprechenden Fehlermeldung beendet.
  • Wenn die TOML-Datei vorhanden ist und keine Befehlszeilenargumente ihre Werte überschreiben, werden die Einstellungen aus der TOML-Datei verwendet (z. B. Standardmodell).
  • Das Tool ignoriert alle nicht erkannten Optionen in der TOML-Datei, um die Abwärtskompatibilität sicherzustellen.

Remote-Zusammenarbeitsprozess

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:

  1. Fork und Klonen: Ich habe sein Repository geforkt und auf meinen lokalen Rechner geklont.
  2. Zweig erstellen: Ich habe in meiner lokalen Kopie einen neuen Zweig erstellt und mit der Arbeit an der neuen Funktion begonnen.
  3. Commit und Push: Nachdem ich Änderungen vorgenommen hatte, habe ich sie an den Branch übergeben und den Branch in mein geforktes Repository verschoben.
 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:

  • Eine Fernbedienung hinzufügen: Ich habe sein Repository als Fernbedienung zu meinem lokalen Computer hinzugefügt:

  git remote add 
  • Commits abrufen: Ich habe die neuesten Commits und Branches aus seinem Repository abgerufen:

git fetch 
  • Tracking-Zweig: Ich habe einen Tracking-Zweig erstellt, um seine Aktualisierungen zu verfolgen, ohne mein Repository direkt zu beeinflussen:

git checkout -b /

Identifizierung und Lösung von Fehlern

Während des Tests habe ich zwei Hauptprobleme in Mayanks Zweig identifiziert:

  • Verzeichnis-Fehlkonfiguration: Das Tool hat die TOML-Datei fälschlicherweise aus dem Projektstammverzeichnis und nicht aus dem Home-Verzeichnis des Benutzers gelesen.
  • Pfadauflösung: Der Code verwendete einen relativen Dateipfad, was zu Fehlern führte, als ich ihn auf meinem Computer ausführte. Ich habe vorgeschlagen, zu einem absoluten Pfad zu wechseln

// 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.

Abschluss

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.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/anhchienvu/first-time-working-with-git-remote-5dbl?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

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