初心者の開発者だけでなく、熱心な専門家も変更を元に戻すことに頼らなければなりません。そして、最初に頭に浮かぶのはgit revert、最も安全な方法としてのコマンドです。そして、私があなたに伝えたい落とし穴があります。
簡単な状況を考えてみましょう。開発者が数学関数を実装することにしました。しかし途中で、彼はこのタスクをたとえば2つのサブタスクに分解するのがよいことに気づきました。
- 算術演算(加算、減算、除算など)を実装します
- 数値演算(最大値、最小値、数値の係数など)を実装します
チェックとテストが簡単になります。しかし、彼はすでにそれを実装し始めており、コミットはすでに作成されています、そして何をすべきですか?同じように書き直さないでください!

コミットツリーについて考えてみましょう。開発者が、算術演算の実装を担当functionsするArithmeticクラス(commit A)と数値演算の実装を担当するNumericalクラス(commit N)のブランチを作成したことがわかります。合計で、2つのクラスと2つのコミットがあります。

git revert
, , functions numerical arithmetic. . git revert N arithmetic git revert A numerical. !

— .

? Arithmetic, Numerical!
, git revert . 4 :
A ⟶ N ⟶ revert A ⟶ revert N
revert .
git reset
, reset, revert . … . , .
git rebase
— git rebase .
numerical arithmetic
git rebase -i –root
, pick drop. . numerical:

.
master .

このメソッドは、プライベートブランチで作業している場合にのみ機能しますが、これらの操作が共有ブランチで実行されている場合、公開(git push)すると、gitコミットがないためブランチが古くなっていることが報告され、公開がキャンセルされます。
gitに苦労しないように、事前にタスクを分解してみてください。そうしないと、驚きを感じる可能性があります。そのような状況に遭遇したことがありますか?もしそうなら、どのようにしてそれらから抜け出しましたか?