gedrückt worden ist, was der einfachste Weg ist, eine bestimmte rückgängig zu machen begehen das heißt:Rückgängig eine bestimmte in Git verpflichten, die Remote-repos
- nicht im Kopf oder HEAD
- auf der Fernbedienung gedrückt wurde.
Denn wenn es nicht die neueste begehen ist,
git reset HEAD
funktioniert nicht. Und weil es wurde zu einem entfernten geschoben,
git rebase -i
und
git rebase --onto
wird ein Problem in den Fernbedienungen verursachen.
Mehr noch, ich möchte nicht die Geschichte wirklich ändern. Wenn es einen schlechten Code gab, war er in der Geschichte und kann gesehen werden. Ich will es nur in der Arbeitskopie, und ich habe nichts gegen eine umgekehrte Zusammenführung.
Mit anderen Worten, was ist das Git Äquivalent der folgenden Befehle svn:
svn merge -r 303:295 http://svn.example.com/repos/calc/trunk
, die durch reverse Verschmelzung alle Änderungen in diesen Revisionen als neue Commit alle Änderungen 295-302 entfernt.
die 302 Commit rückgängig macht, natürlich durch Hinzufügen eines weiteren Commits, das die Änderungen von diesem jeweiligen Commit rückgängig macht.
Ich dachte, es sollte eine ziemlich einfache Operation in Git und ein ziemlich häufiger Anwendungsfall sein. Was ist noch der Sinn von atomaren Commits?
Wir haben Staging stashing und alle, um sicherzustellen, dass die Commits perfekt atomar sind, sollten Sie nicht in der Lage sein, eine oder mehrere dieser atomaren Commits leicht rückgängig zu machen?
ist und verwenden Sie die Option -n, wenn Sie möchten den Code zurück, aber nicht automatisch erneut einbinden. – jaygooby
Was macht die Option "m"? Ich habe versucht, Git 8212f7d zurückzusetzen, aber habe dies stattdessen: Fehler: Commit 8213f7dad1ed546b434a0d8a64cb783b530a5a30 ist eine Zusammenführung, aber keine -m-Option wurde gegeben. fatal: Zurücksetzen fehlgeschlagen – Malcolm
'git help revert' besagt, dass Sie auswählen können, von welchem Elternteil der Zusammenführung Sie zurückgehen möchten. Sie können eine Zusammenführung nicht zurücksetzen, ohne ein übergeordnetes Element auszuwählen. Die Dokumentation weist Sie auf https://www.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.txt hin. –