4

最近の 10 回ほどのプッシュを調べていますが、そのうちの 4 回 (不連続) を取り消したいと考えています。

これどうやってするの?

SVN では、変更を元に戻し、「元に戻した」変更を元に戻すことが問題になります。Git でそれを行う方法がわかりません。

4

2 に答える 2

10

git revert <commit>履歴を書き換えずに、問題のあるコミットを元に戻すために使用します。これにより、これらのコミットを元に戻す新しいコミットが作成されます。

代わりに、<commit>元に戻したい各コミットのSHAを使用します。

于 2012-12-09T01:00:16.200 に答える
1

@ ThiefMasterの答えはうまくいきます。

別の方法として、それが共有リモート ブランチでない場合 (他の誰もあなたの変更をプルしていない場合) が可能git rebase -i HEAD~10です。これにより、$EDITOR で最後の 10 件のコミットのリストが開きます。不要になったコミットを削除し、ファイルを保存して、git push -fプッシュを強制し、リモート ブランチの履歴を上書きするだけです。

利点: 履歴がきれいになります。

デメリット:履歴をクリーンアップしたくない場合や、元に戻すコミットを git 履歴に記録したい場合があります。

ここでインタラクティブなリベースの詳細: http://git-scm.com/book/en/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages

于 2012-12-09T01:07:19.333 に答える