コミットを元に戻し、失敗させない方法

初心者の開発者だけでなく、熱心な専門家も変更を元に戻すことに頼らなければなりません。そして、最初に頭に浮かぶのは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に苦労しないように、事前にタスクを分解してみてください。そうしないと、驚きを感じる可能性があります。そのような状況に遭遇したことがありますか?もしそうなら、どのようにしてそれらから抜け出しましたか?




All Articles