web-dev-qa-db-ja.com

以前の2つのコミットをロールバックする方法は?

次のシナリオを検討してください。

  1. 開発者Aはコミットを行います:#n
  2. 開発Bはコミットします#n + 1
  3. 開発Aはコミットします#n + 2
  4. コミット#n + 3

そして、コミット#n + 2で欠陥を導入したことを発見します。

開発方法彼の最後の2つのコミットをロールバックし、コミット時に開発を続けます#n + 1

試してみましたgit reset --hard HEAD~2* ですが、開発者Aのコミット#nに戻ります。

63
Marius Butuc

N + 1コミットに戻るはずです。おそらくそこにもマージコミットがあります。 git reset --hard <sha1_of_where_you_want_to_be>

警告!! --hardは、現在行っているコミットされていない変更が永久に破棄されることを意味します。

97
Adam Dymitruk