2013-02-08 5 views
9

git cherry-pickと有効な反対がありますか?たとえば、ビジネスプロセスが準備できていないため、機能を無効にするために一時的な変更を加える必要がありました。そのビジネスプロセスが準備ができたので、コミットとその効果を単に削除したいと思います。もちろん、それらのコミットの差分を見て、何をすべきかを理解することはできますが、履歴に残っているコミットがリセットされずに元のものが失われる可能性があるかどうかを知ることは面白いでしょうそれら。git cherry-pickの反対ですか?

+1

おそらく 'git revert'を意味しますか? –

答えて

12

別のコミットによって行われた変更を元に戻す自動化された方法はgit revertです。

+0

これは、私が見たはずのものです。 – andyortlieb

+1

これは、@Kyralessaの答えが – Leo

15

git revertは、git cherry-pickの反対ではありません。 git rebase -iです。

git revertは、1つ以上の古いコミットによる変更を削除する新しいコミットを追加します。元のコミットは削除されません。

git rebase -i現在のコミットのコミットのリストを表示します。上流のブランチではない最後のコミットに戻ります。次に、コミットメッセージの編集、並べ替え、変更、さらにはこのリストからのコミットの削除ができます。

削除するコミットを既にプッシュしている場合は、削除した新しい履歴をプッシュした後で調整する必要があるため、削除する必要があります。コミットします。

+1

を説明しているので、これは 'git rebase -i'とは逆のものではありません。 rebase-iは技術的に質問に答えるが、長期的にはよりクリーンであるかもしれないが、git revertは私が表現した問題を満たす。 – andyortlieb

+1

"' git revert'は、1つ以上の古いコミットによって加えられた変更を削除する新しいコミットを追加します。これは 'git cherry-pick'とはちょうど同じように聞こえる。おそらく "逆"は "反対"よりも良い言葉でしょう。 –

+1

'git cherry-pick'がコミットを追加する場合、その反対はコミットを削除することです。 _another_ commitを追加しないでください。 –