5683 Stimmen

Zurücksetzen des Zweigs des lokalen Repositorys auf den des entfernten Repositorys HEAD

Wie setze ich meinen lokalen Zweig so zurück, dass er mit dem Zweig des entfernten Repositorys übereinstimmt?

Das habe ich:

git reset --hard HEAD

Aber wenn ich eine git status ,

On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
      modified:   java/com/mycompany/TestContacts.java
      modified:   java/com/mycompany/TestParser.java

Können Sie mir bitte sagen, warum ich sie "geändert" habe? Ich habe diese Dateien nicht angefasst? Wenn ja, möchte ich sie entfernen.

18 Stimmen

Gemäß der Ausgabe von git status Ihr zweiter Befehl git reset --hard HEAD gescheitert. Allerdings haben Sie die Ausgabe nicht eingefügt. Unvollständige Frage.

5 Stimmen

Sie vermischen hier zwei Themen: 1) wie man eine lokale Verzweigung auf den Punkt zurücksetzt, an dem sich die entfernte Verzweigung befindet, und 2) wie man den Staging-Bereich (und möglicherweise das Arbeitsverzeichnis) löscht, so dass git status sagt nothing to commit, working directory clean . - Bitte angeben!

3 Stimmen

4voto

Grastveit Punkte 15020

Haben Sie vergessen, einen Feature-Zweig zu erstellen und haben aus Versehen direkt auf den Master übertragen?

Sie können den Feature-Zweig jetzt erstellen und den Master-Zweig zurücksetzen, ohne dass dies Auswirkungen auf die worktree (lokales Dateisystem), um das Auslösen von Builds, Tests und Problemen mit Dateisperren zu vermeiden:

git checkout -b feature-branch
git branch -f master origin/master

1voto

Indhuja Punkte 56
  • Es wird ein Fehler ausgegeben, da die Änderungen nicht berücksichtigt wurden.
  1. Sie können also verwenden git stash
  • Dadurch werden unangekündigte Änderungen für eine spätere Verwendung gespeichert und dann aus der Arbeitskopie wieder rückgängig gemacht.
  • Wenn Sie diese Änderungen erneut wünschen, können Sie git stash apply
  1. Dann können Sie git pull
  • Dies nimmt den aktuellen Code aus dem entfernten Repo.

-2voto

Micah Walter Punkte 821

Wenn es Ihnen nichts ausmacht, Ihre lokalen Änderungen zu speichern, Sie aber dennoch Ihr Repository aktualisieren wollen, damit es mit origin/HEAD übereinstimmt, können Sie Ihre lokalen Änderungen einfach zwischenlagern und dann ziehen:

git stash
git pull

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X