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.