2012-12-18 12 views
12

ich mehrere Commits (commit1/2/3) aus, änderte ich mein Arbeitsverzeichnis ohne stashing. Dann wollte ich einige Commits zurückgehen. So git ich revert commit1 commit2 commit3, aber mir wurde gesagt, um meine Änderungen (commit4) zu begehen, also tat ich es, und dann habe ich wieder git revert commit1 commit2 commit3 commit4, aber ich hatte eine NachrichtGit Revert ausgefallen

error: a cherry-pick or revert is already in progress hint: try "git cherry-pick (--continue | --quit | --abort)"

Wenn ich betreibe git branch -va, HEAD 3

ich verstehe nicht ganz zu begehen zeigt, was los ist. Was soll ich jetzt tun, um Dinge rückgängig zu machen?

Antwort

16

Am besten ist es einen revert mit einem sauberen Index und Arbeits Baum zu initiieren.
Andernfalls führt eine zweite Zurücksetzung (zusätzlich zu einem neuen Commit) während einer vorherigen Zurücksetzung zu dieser Fehlermeldung.

Da Sie noch commit 3 sind, könnten Sie:

  • git cherry-pick --quit (., Die von this thread, HEAD allein lassen erzählen zurückkehren und aus dem Weg bekommen),
  • Ihren Index untersuchen und Arbeits Baum (Git Status),
  • machen Sie eine Einstellung, um einen sauberen Status zu erhalten (wie ein neues Festschreiben),
  • und dann wiederholen Sie Ihre git revert.

(Sie können auch andere Optionen siehe unter „Rollback to Previous Commit - Github for MAC (a revert is already in progress)“)

Vergessen Sie nicht, git reset wenn Sie einfach über diese drei Commits vergessen wollen (obwohl das würden Sie einen Push machen erzwingen: git push --force, um Ihre Geschichte für diesen Zweig zu veröffentlichen. Wenn andere Mitarbeiter bereits von derselben Niederlassung, Ihrem Ansatz gezogen, mit git revert, ist ein besserer)

Verwandte Themen