特定のコミットを元に戻す最も簡単な方法は次のとおりです。
- 頭にも頭にもない
- リモートにプッシュされています。
最新のコミットでない場合、
git reset HEAD
動作しません。そして、それはリモートにプッシュされたので、
git rebase -i
そして
git rebase --onto
リモコンで問題が発生します。
さらに、履歴を変更したくないのです。不正なコードがあった場合、それは履歴に存在しており、見ることができます。私はそれを作業コピーに入れたいだけで、リバースマージコミットを気にしません。
つまり、次のsvnコマンドに相当するGitは何ですか。
svn merge -r 303:295 http://svn.example.com/repos/calc/trunk
これらのリビジョンのすべての変更を新しいコミットとしてリバースマージすることにより、295から302へのすべての変更を削除します。
svn merge -c -302 ^/trunk
302コミットを元に戻します。もちろん、そのコミットからの変更を逆マージする別のコミットを追加します。
これは、Gitでのかなり単純な操作であり、かなり一般的なユースケースであるべきだと思いました。アトミックコミットのポイントは他に何ですか?
私たちはステージングスタッシングを行っており、コミットが完全にアトミックであることを保証するためにすべて、これらのアトミックコミットの1つ以上を簡単に取り消すことができませんか?