Mein Anwendungsfall ist sehr üblich.Git ein Commit zurück und fügen Änderungen hinzu, auch nachdem weitere Commits folgten
Ich habe ein Commit hinzugefügt, das mein Build-System durchlaufen hat. Einige Post-Commit-Tests auf dem Build-System sind fehlgeschlagen. Das System ist so konfiguriert, dass ein solches Commit rückgängig gemacht wird.
Also fügte das System auch eine Reverting back revision my-commit
hinzu.
Jetzt habe ich die Korrekturen hinzugefügt, um den Build zu korrigieren. Aber jemand anderes hat 2 Commits über den Revert gemacht, die erfolgreich waren, bevor ich meins hineinschieben konnte.
So jetzt mein Zustand ist:
$ git log
commit good-commit1
author: good-dev1
...
commit good-commit2
author: good-dev1
...
commit good-revert-commit
author: system
...
commit my-bad-commit
author: me
...
Beide good-commit1
und good-commit2
Änderungsdateien, die ich in my-bad-commit
modifiziert.
Wie füge ich meine Fixes über my-bad-commit
hinzu oder stelle die good-revert-commit
um, füge Korrekturen hinzu und setze dann die guten Commits des anderen Devs erneut ein?
Hinweis: Unser System erlaubt -f
(force push) nicht zum Master-Zweig.
Da Ihre 'Master'-Verzweigung nicht erlaubt ist, Push zu drücken, können Sie' git revert' nur am Anfang des Commit-Verlaufs verwenden. Andernfalls können Sie 'git rebase -i' verwenden oder den aktuellen' master'-Zweig usw. ersetzen. –
Hat die Antwort Ihnen geholfen, das Problem zu lösen? Wenn ja, bitte markieren Sie es. Und es wird anderen helfen, die ähnliche Fragen haben. –