Wenn Sie die Dateien geändert haben, die auch im Remote-Repository geändert wurden, erhalten Sie möglicherweise die Fehlermeldung „Ihre lokalen Änderungen an den folgenden Dateien würden durch Zusammenführen überschrieben werden“. Dieser Beitrag von MiniTool bietet Lösungen.

Was ist ein Repository? Was bedeuten Push und Pull in Git?

Was ist ein Repository? Ein Repository ist ein Speicher für Code, der von Teammitgliedern ständig geändert und über den GitHub-Versionskontrollmechanismus abgerufen wird.

„Pull“ bedeutet, dass Sie die neueste Version vom Repository in Ihren lokalen Speicher/IDE (Integrated Development Environment) wie Pycharm usw. ziehen. Nach dem „Pull“ können Sie den Code ändern oder zusätzliche Funktionen hinzufügen. Wenn Sie fertig sind, „push“ Sie Ihren Code in das Repository, damit Ihre Änderungen gespeichert und hinzugefügt werden können. Andere können ebenfalls auf den Code zugreifen.

Lesen Sie auch: Wie kann man das GitHub-Repository klonen und duplizieren?

Gelöst: Ihre lokalen Änderungen an den folgenden Dateien würden durch Zusammenführen überschrieben werden

Lösung 1. Ein Pull erzwingen, um lokale Änderungen zu überschreiben

Die erste Methode für Sie ist, ein Pull zu erzwingen, um lokale Änderungen zu überscheiben. Auf diese Weise werden alle lokalen Änderungen, die auf Ihrem Computer vorgenommen wurden, überschrieben, und eine Kopie der Version wird im Repository angezeigt. Sie müssen die folgenden Befehle in der IDE ausführen.

  • git reset — hard
  • git pull

Dann können Sie prüfen, ob die Fehlermeldung „Ihre lokalen Änderungen würden durch Zusammenführen überschrieben werden“ verschwunden ist.

Lösung 2. Beide Änderungen beibehalten

Wenn Sie beide Änderungen (die lokal vorgenommene und die im Repository) beibehalten möchten, können Sie Ihre Änderungen hinzufügen und committen. Sie müssen die folgenden Codes in der IDE ausführen:

  • git add $the_file_under_error
  • git commit
  • git pull

Lösung 3. Beide Änderungen beibehalten, aber nicht committen

Es kommt häufig vor, dass der Entwickler nicht bereit ist zu committen, weil Sie einen teilweise fehlerhaften Code debuggen. Hier können wir die Änderungen sicher stashen, die Version aus dem Repository ziehen und Ihren Code auslagern.

  • git stash save –keep-index

oder

  • git stash
  • git pull
  • git stash pop

Wenn es nach dem Öffnen des Stashes zu Konflikten kommt, sollten Sie sie auf die übliche Weise lösen. Sie können auch den folgenden Code nutzen:

  • git stash apply

Wenn das Zusammenführen für Sie keine praktikable Option ist, können Sie das Rebasing in Betracht ziehen. Hierzu ändern Sie den Code:

  • git stash
  • git pull –rebase origin master
  • git stash pop

Lösung 4. Änderungen an Teilen Ihres Codes vornehmen

Wenn Sie Änderungen an einem bestimmten Teil des Codes vornehmen und nicht alles ersetzen möchten, können Sie alles committen, was Sie nicht überschreiben wollen, und Lösung 3 befolgen. Sie können die folgenden Codes ausführen, um Änderungen vorzunehmen, die die vorhandene Version im Repository überschreiben.

  • git checkout path/to/file/to/revert

oder

  • git checkout HEAD^ path/to/file/to/revert

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

  • git reset HEAD path/to/file/to/revert
  • git pull

Lesen Sie auch: Git-Fehler: Sie müssen zuerst Ihren aktuellen Index auflösen!

Schluss

In diesem Beitrag werden gängige Lösungen zur Behebung des Git-Fehlers „Ihre lokalen Änderungen würden durch Merge überschrieben werden“ vorgestellt. Wenn Sie andere nützliche Methoden zur Entfernung dieses Fehlers haben, hinterlassen Sie bitte eine Nachricht im Kommentarbereich unten.

  • linkedin