Ich habe versehentlich eine schrittweise Änderung in einem neuen Zweig in Visual Studio 2017 in mein lokales Repository verschoben. Es wurde nicht in das Remote-Repository verschoben. Ich möchte es loswerden, kann aber keinen Weg finden, dies zu tun. Ich habe von der lokalen Hauptniederlassung auf die neue Niederlassung umgestellt. Dann habe ich den neuen Zweig gelöscht. Aber ausgehende Commits zeigen es immer noch. Wie lösche ich es oder setze es zurück?
git
visual-studio
visual-studio-2017
Tony_Henrich
quelle
quelle
Antworten:
Öffnen Sie die Registerkarte "Verlauf" im Team Explorer auf der Kachel "Zweige" (klicken Sie mit der rechten Maustaste auf Ihren Zweig). Klicken Sie dann im Verlauf mit der rechten Maustaste auf das Commit vor dem Commit, das Sie nicht verschieben möchten, und wählen Sie Zurücksetzen. Dadurch wird der Zweig wieder auf dieses Commit verschoben und das zusätzliche Commit, das Sie vorgenommen haben, sollte entfernt werden. Um vor einem bestimmten Commit zurückgesetzt zu werden, müssen Sie daher dessen übergeordnetes Element auswählen.
Je nachdem, was Sie mit den Änderungen tun möchten, wählen Sie schwer , um sie lokal zu entfernen. Oder wählen Sie " Soft" , um das Commit rückgängig zu machen, aber Ihr Arbeitsverzeichnis mit den Änderungen in Ihrem verworfenen Commit zu verlassen.
quelle
Ich konnte keine einzige gute Antwort finden, die mir half, dieses Problem loszuwerden.
Angenommen, der Name des Zweigs, an dem Sie versehentlich Änderungen vorgenommen haben, lautet
master
. Die folgenden vier einfachen Schritte erwiesen sich für mich als eine Welt:master
master
remotes/origin
quelle
revert
Angenommen, Sie haben die letzten Änderungen auf den Server übertragen:
Sobald Sie das Projekt erneut öffnen, sollten sowohl Commits als auch Änderungen Null sein.
quelle
Wechseln Sie zur Registerkarte Team Explorer und klicken Sie auf Zweige. Wählen Sie in den Filialen Ihre Filiale aus Fernbedienungen / Herkunft. Sie möchten beispielsweise Ihren Hauptzweig zurücksetzen. Klicken Sie mit der rechten Maustaste auf den Hauptzweig in Fernbedienungen / Ursprung, wählen Sie Zurücksetzen und klicken Sie dann auf Änderungen löschen. Dadurch wird Ihr lokaler Zweig zurückgesetzt und alle lokal festgeschriebenen Änderungen werden entfernt.
quelle
Versuchen Sie, Ihren lokalen Hauptzweig auf Ihren Remote- / Ursprungs-Hauptzweig neu zu gründen und alle Konflikte in diesem Prozess zu lösen.
quelle
TL; DR:
Verwenden Sie
git reset --soft HEAD~
in der cmd aus dem Ordner .slnIch war heute damit konfrontiert und war überwältigt, was
VSCode
auf so etwas hindeutet, während es der große BruderVisual Studio
nicht tut.Die meisten Antworten waren hilfreich; Wenn ich mehr Commits habe, die zuvor gemacht wurden, wäre es frustrierend, sie alle zu verlieren. Wenn
VSCode
es in einer halben Sekunde geschieht, sollte es nicht komplex sein.Nur Jessehouwings Antwort kam einer einfachen Lösung am nächsten.
Angenommen, das unerwünschte Commit (s) war das letzte, das passiert ist. So habe ich es gelöst:
Gehe zu
Team Explorer
->Sync
. Dort würden Sie alle Commits sehen.Actions
Drücken Sie die Dropdown-Liste undOpen Command Prompt
Sie haben das cmd-Fenster aufgefordert, dort zu schreiben
git reset --soft HEAD~
. Wenn es mehrere unerwünschte Commits gibt, addieren Sie den Betrag nach dem~
(dhgit reset --soft HEAD~5
)(Wenn Sie nicht verwenden
git
, überprüfen Sie die umgangssprachliche Verwendung).Ich hoffe, es wird helfen, und hoffentlich wird das VS-Team es in der nächsten Version einbauen
quelle
Sie haben hier zwei Möglichkeiten, um entweder alle ausgehenden Commits zu verwerfen oder bestimmte Commits rückgängig zu machen.
1- Verwerfen Sie alle ausgehenden Commits:
So verwerfen Sie alle ausgehenden Commits: Wenn Sie beispielsweise einen lokalen Zweig mit dem Namen master von einem entfernten Zweig haben, können Sie:
1- Benennen Sie Ihren lokalen Zweig vom Master in einen beliebigen Zweig um, damit Sie ihn entfernen können. 2- Entfernen Sie den umbenannten Zweig. 3- Erstellen Sie einen neuen Zweig vom Master
Jetzt haben Sie eine neue Niederlassung ohne Ihre Verpflichtungen.
2- Spezifisches Commit rückgängig machen : Um ein bestimmtes Commit rückgängig zu machen, müssen Sie das nicht benötigte zurücksetzen, indem Sie:
1- Doppelklicken Sie auf das nicht benötigte Commit. Doppelklicken Sie auf das nicht benötigte Commit. 2- Klicken Sie auf Zurücksetzen. Klicken Sie auf Zurücksetzen
Zu Ihrer Information, das zurückgesetzte Commit wird in der Historie Ihrer Commits mit dem zurückgesetzten Commit angezeigt.
quelle