Git Pull zum Überschreiben lokaler Dateien zwingen

Abdul Jabbar 30 Januar 2023
  1. Lokale Änderungen beibehalten
  2. Git Pull erzwingen, um lokale Dateien zu überschreiben
Git Pull zum Überschreiben lokaler Dateien zwingen

Git ist für neue Benutzer ein bisschen schwierig, wenn eine der ersten Aufgaben für Sie eine Art Pull aus dem Git-Remote-Repository ist, dann werden wir machbare Ansätze entdecken, wie Git einige lokale Dateien überschreiben lässt.

Zweifellos ist Git ein sehr effektives Werkzeug, um die Arbeit eines Teams zu verwalten. Sie müssen einige wichtige Prinzipien kennen, um mit Git schlau zu landen. Das Gute daran ist, dass Sie, wenn Sie sie richtig lernen, selten auf Probleme stoßen, von denen Sie nicht wegkommen.

Wir verwenden das lokale Repository, ein Remote-Repository mit einem oder mehreren Zweigen in einem normalen Git-Workflow. Repositories speichern alle Aufzeichnungen über das Projekt, einschließlich seiner gesamten Historie und aller Zweige. Eine Verzweigung ist eine Gruppe von Änderungen, die von einem leeren Projekt in den aktuellen Zustand führt.

Wenn Sie an einer lokalen Datei arbeiten und neue Änderungen vornehmen, müssen Sie lokale Änderungen an das Remote-Repository übertragen, und bis lokale Änderungen an Remote-Repositorys übertragen werden, ist jede Arbeit auf Ihrem Computer verfügbar. Das Problem beginnt, wenn ein Team an derselben Sache arbeitet und Änderungen an derselben Stelle vornehmen möchte.

Der Pull basiert auf mehreren Operationen, bestehend aus dem Holen von Daten aus dem Remote-Zweig und dem anschließenden Zusammenführen der Änderungen in das lokale Repository. Die oben genannten Operationen können mit den folgenden Befehlen manuell ausgeführt werden.

git fetch
git merge origin/$CURRENT_BRANCH

Hier haben wir zwei wichtige Möglichkeiten, während wir an den Git-Repositorys arbeiten.

Lokale Änderungen beibehalten

In diesem Fall, wenn Ihre nicht festgeschriebenen Änderungen für Sie wichtig sind, gibt es zwei Möglichkeiten, sie durchzuführen:

Sie können diese zunächst festschreiben und dann git pull anwenden.

Zweitens können Sie sie verstauen. Genauer gesagt kann das Stashing damit erklärt werden, dass wir einen Commit durchführen, der jedoch zu diesem Zeitpunkt in Ihrem aktuellen Branch nicht sichtbar ist, aber wir können über Git darauf zugreifen. Um die gespeicherten Änderungen (die wir mit stash verwendet haben) zurückzuholen, verwenden wir den Befehl git stash pop. Dieser Befehl entfernt den Stash-Commit, nachdem die Stash-Änderungen eingefügt wurden, da wir ihn nicht mehr benötigen.

git fetch (it will fetch the folder for the local machine)
git stash (it will stash the local changes)
git merge origin/$CURRENT_BRANCH (merge the changes from the local folder to workspace folder) 
git stash pop (it will do all stash to latest)

Git Pull erzwingen, um lokale Dateien zu überschreiben

In dieser Situation möchten Sie alle nicht festgeschriebenen lokalen Änderungen freigeben. Manchmal ändern Sie eine Datei nur für ein Experiment, aber danach stellen Sie fest, dass Sie diese Änderung nicht möchten. Dann müssen Sie es nur noch auf Upstream aktualisieren.

Dadurch wird dieser Vorgang zwischen dem Abrufen und dem Zusammenführen ein weiterer Schritt hinzugefügt. Daher wird der Branch in seinen ursprünglichen Zustand zurückgesetzt, sodass git merge funktioniert.

git fetch (fetch the local machine folder)
git reset --hard HEAD (it will remove the local changes)
git merge origin/$CURRENT_BRANCH (merge the changes from the local folder to workspace folder)
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Verwandter Artikel - Git Pull