1. Der Anfang der Geschichte
Der Code unter dem Remote-Master-Zweig wurde versehentlich mit viel Junk-Code übermittelt oder das Projekt wurde gelöscht. Ich wollte auf eine frühere Version zurücksetzen und den löschen Commit-Protokoll. was zu tun? Das Szenario ist wie im Bild dargestellt:
Das Szenario ist sehr einfach. Mein Chef hat eine Datei hochgeladen und ich habe sie gelöscht. Es gibt eine Möglichkeit, die Datei erneut zu pushen, aber Sie möchten nicht, dass er den Kommentar im Bild sieht (ps: so werde ich nicht gefeuert). Der Code zum Implementieren des obigen Szenarios lautet wie folgt:
vim A.txt
git add .
git commit -a -m "add A.txt"
git push
rm A.txt
git commit -a -m „Ich habe die Sachen des Chefs gelöscht“
git push
— ——— –Trennlinie————–
Was soll ich tun, wenn ich verwirrt bin? was zu tun? was zu tun?
Die an die Fernbedienung gesendete Übermittlung kann standardmäßig nicht geändert werden, muss jedoch geändert werden:
git push -f
2
2.1 Arbeitsbereich, Staging-Bereich, lokales Repository und Remote-Repository
Kein Bild sagt 78. . .
》》Arbeitsbereich: Es ist das Verzeichnis, in dem wir tätig sind
》》Staging-Bereich: Momentaufnahme des Betriebsverzeichnisses
》》 Lokales Repository: Die Essenz von Git: Jeder ist das zentrale Lager. Das heißt, die Vorteile der Git-Verteilung liegen natürlich im Vergleich zu zentralisierten
》》 Remote-Versions-Repositorys wie SVN: Ein zentrales Warehouse wie Github kann die gemeinsame Nutzung erreichen.
Häufig verwendete Vorgänge sind auch im Bild dargestellt, was selbstverständlich ist.
2.2 Praktische Lösung
Sprechen ist günstig. Zeigen Sie mir den Code oder das Geld~ Der Code lautet wie folgt:
git log
git reset --soft ${commit-id}
git stash
git push -f
Die Details lauten wie folgt:
Zeile 1: git log Sehen Sie sich den Commit-Verlauf an und suchen Sie die Version, die Sie zurücksetzen möchten. Die Geschichte ist wie folgt:
commit 84686b426c3a8a3d569ae56b6788278c10b27e5b
Autor: JeffLi1993
Datum: Fr. 8. April 19 :11:32 2016 0800
Ich habe die Sachen des Chefs gelöscht
commit 72bd6304c3c6e1cb7034114db1dd1b8376a6283a
Autor: JeffLi1993 Datum: Fr. 8. April 19:05:23 2016 0800 A.txt hinzufügen Wir wollen loslegen zurück zu Die Version ist: 72bd6304c3c6e1cb7034114db1dd1b8376a6283a Zeile 2: git reset –soft 72bd6304c3c6e1cb7034114db1dd1b8376a6283a Bevor eine bestimmte Version rückgängig gemacht wird, werden die vorherigen Änderungen an den temporären Speicherbereich zurückgegeben (Ich verstehe es nicht) Schauen Sie sich die schönen Bilder an~). Der Unterschied zwischen weichen und harten Parametern besteht darin, dass harte Änderungsdatensätze verloren gehen, während weiche Änderungsdatensätze beibehalten werden. Zeile 3: Aus Sicherheitsgründen vorübergehend gespeichert. Zeile 4: git push -f Schieben Sie den lokalen Master in das Remote-Repository, -f erzwingt das Überschreiben. 3. Zusammenfassung Git Reset führt ein Rollback auf eine bestimmte Version durch
git push -f erzwingt das Überschreiben von Push