最近の 10 回ほどのプッシュを調べていますが、そのうちの 4 回 (不連続) を取り消したいと考えています。
これどうやってするの?
SVN では、変更を元に戻し、「元に戻した」変更を元に戻すことが問題になります。Git でそれを行う方法がわかりません。
最近の 10 回ほどのプッシュを調べていますが、そのうちの 4 回 (不連続) を取り消したいと考えています。
これどうやってするの?
SVN では、変更を元に戻し、「元に戻した」変更を元に戻すことが問題になります。Git でそれを行う方法がわかりません。
git revert <commit>
履歴を書き換えずに、問題のあるコミットを元に戻すために使用します。これにより、これらのコミットを元に戻す新しいコミットが作成されます。
代わりに、<commit>
元に戻したい各コミットのSHAを使用します。
@ 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