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