Wie man den Git-Fehler behebt 'Deine lokalen Änderungen an den folgenden Dateien werden durch Zusammenführen überschrieben'

Advise: Klicken Sie Hier, Windows-Fehler Und Optimiert Die Systemleistung Zu Beheben

Die Fehlermeldung " Ihre lokalen Änderungen an den folgenden Dateien werden durch Zusammenführen überschrieben " tritt bei der Versionskontrolle von Git auf. Dieser Fehler tritt auf, wenn Sie eine Datei geändert haben, die auch Änderungen im Remote-Repository enthält.

Git-Fehler: Ihre lokalen Änderungen an den folgenden Dateien werden durch Zusammenführen überschrieben

Diese Fehlermeldung wird vermieden, wenn keine nicht festgeschriebenen Dateien vorhanden sind, die auch Änderungen im Remote-Repository aufweisen. Wenn Sie diese Nachricht erhalten, fragen Sie am besten Ihre anderen Teammitglieder nach ihrer Meinung. Unabhängig davon, ob Sie Ihre lokalen Änderungen zusammenführen oder die Version im Repository beibehalten möchten, ist es am besten, alle an Bord zu behalten.

Was sind Repositories? Was sind Push und Pull in Git?

Ein Repository ist eine Art Speicher für Code, der von den Teammitgliedern über den GitHub-Versionskontrollmechanismus ständig geändert und abgerufen wird. Ein ' Pull' bedeutet, dass Sie die neueste Version des Repositorys auf Ihren lokalen Speicher / Ihre IDE (Integrated Development Environment) wie Pycharm usw. ziehen.

Nach einem Pull nehmen Sie Änderungen am Code vor oder fügen weitere Funktionen hinzu. Sobald Sie fertig sind, "übertragen " Sie den Code in das Repository, damit Änderungen gespeichert und Ergänzungen vorgenommen werden. Der Code wird auch für andere Personen zugänglich.

Wenn Sie mit der Versionskontrolle von Github noch nicht vertraut sind, sollten Sie zuerst alle Grundlagen durcharbeiten. In diesem Artikel wird davon ausgegangen, dass Sie bereits über Grundkenntnisse verfügen und alle Vor- und Nachteile kennen.

Wie behebe ich "Ihre lokalen Änderungen an den folgenden Dateien werden durch Zusammenführen überschrieben"?

Die Auflösung dieser Fehlermeldung hängt davon ab, was Sie tun möchten. Sie können Ihre lokalen Änderungen verwerfen und diejenigen aus dem Repository abrufen, oder Sie können Ihre lokalen Änderungen in einem Stash speichern und die Version aus dem Repository abrufen. Es hängt alles von Ihren Vorlieben ab.

Wir empfehlen daher, dass Sie sich mit Ihren Teammitgliedern beraten und sicherstellen, dass Sie alle auf derselben Seite sind, bevor Sie fortfahren. Wenn Sie ein falsches Commit durchführen oder die falsche Version pushen, kann dies Auswirkungen auf das gesamte Team haben.

Methode 1: Erzwingen eines Pulls zum Überschreiben lokaler Änderungen

Wenn Sie sich nicht um die lokal vorgenommenen Änderungen kümmern und den Code aus dem Repository abrufen möchten, können Sie einen Pull erzwingen. Dadurch werden alle auf Ihrem Computer vorgenommenen lokalen Änderungen überschrieben. Eine Kopie der Version im Repository wird angezeigt.

Führen Sie die folgenden Befehle in Ihrer IDE aus:

 git reset - harter git pull 

Dadurch werden alle Ihre lokalen Änderungen sofort zerstört. Stellen Sie also sicher, dass Sie wissen, was Sie tun, und dass Sie Ihre lokalen Änderungen nicht benötigen.

Methode 2: Beibehalten beider Änderungen (lokal und aus dem Repo)

Wenn Sie beide Änderungen beibehalten möchten (Änderungen, die lokal vorgenommen wurden, und Änderungen, die im Repository vorhanden sind), können Sie Ihre Änderungen hinzufügen und festschreiben. Wenn Sie ziehen, wird es offensichtlich einen Zusammenführungskonflikt geben. Hier können Sie die Tools in Ihrer IDE (wie Difftool und mergetool) verwenden, um die beiden Codeteile zu vergleichen und zu bestimmen, welche Änderungen beibehalten und welche entfernt werden sollen. Dies ist der mittlere Weg; Änderungen gehen erst verloren, wenn Sie sie manuell entfernen.

 git add $ the_file_under_error git commit git pull 

Wenn Sie einen Zusammenführungskonflikt erhalten, öffnen Sie diese Konfliktlösungstools und überprüfen Sie sie Zeile für Zeile.

Methode 3: Beibehalten beider Änderungen, ABER kein Commit

Diese Situation tritt von Zeit zu Zeit auf, wenn Entwickler nicht bereit sind, ein Commit durchzuführen, da teilweise fehlerhafter Code vorhanden ist, den Sie debuggen. Hier können wir die Änderungen sicher verwahren, die Version aus dem Repository ziehen und dann Ihren Code verwerfen.

 git stash save --keep-index 

oder

 Git Stash 
 Git Pull Git Stash Pop 

Wenn nach dem Öffnen des Stashs Konflikte auftreten, sollten Sie diese auf die übliche Weise lösen. Sie können auch den folgenden Befehl verwenden:

 git stash anwenden 

statt pop, wenn Sie aufgrund von Konflikten nicht bereit sind, den versteckten Code zu verlieren.

Wenn das Zusammenführen für Sie keine praktikable Option ist, sollten Sie eine Rebase durchführen. Beim Rebasing wird eine Folge von Festschreibungen zu einer neuen Basisfestschreibung verschoben oder kombiniert. Ändern Sie den Code beim erneuten Basieren in:

 git stash git pull --basis herkunft master git stash pop 

Methode 4: Nehmen Sie Änderungen an "bestimmten" Teilen Ihres Codes vor

Wenn Sie Änderungen an bestimmten Teilen des Codes vornehmen und nicht alles ersetzen möchten, können Sie alles festschreiben, was Sie nicht überschreiben möchten, und dann Methode 3 folgen. Sie können den folgenden Befehl für die von Ihnen vorgenommenen Änderungen verwenden aus der im Repository vorhandenen Version überschreiben möchten:

 git checkout path / to / file / to / revert 

oder

 git checkout HEAD ^ Pfad / nach / Datei / nach / zurücksetzen 

Außerdem müssen Sie sicherstellen, dass die Datei nicht über Folgendes bereitgestellt wird:

 git setze den HEAD-Pfad / nach / file / nach / zurück 

Fahren Sie dann mit dem Pull-Befehl fort:

 Git ziehen 

Dadurch wird versucht, die Version aus dem Repository abzurufen.

Interessante Artikel