ですから、
A -- B <--(master)
\
X -- Y -- Z <--(branchEx)
を持って、私がお勧めすることはbranchEx
REFを移動することです。たとえば今
git checkout master
git branch -f branchEx
あなたの地元のレポでは、それはちょうどbranchEx
が新たmaster
で作成されたかのようです。
A -- B <--(master)(branchEx)
(技術的にはY
、X
コミットし、Z
はまだ存在しているが、彼らはおそらく、今どの参照から到達可能ではないですし、最終的にガベージコレクトかもしれません。)
これはあなたが持っていることを意味し力のプッシュを行うには、通常は何か私は避けるだろう;このケースで私がそれをする理由は、それは一度の費用です。私はそれを避ける方法を考え出すことができますが、もっと複雑になるだけでなく、迷惑な手続きを完了するだけで "逃げない"コストがあります。
ので:
git checkout branchEx
git push -f
今私が話していたその1つの時間コスト:origin/branchEx
レフリーが含まれている可能性のあるクローンの観点から、このrefは予期しない方法で移動しています。そのようなクローンがorigin/branchEx
を上流(通常はbranchEx
という名前のローカルブランチ)として扱う(ローカル)ブランチを持つ場合、この予期せぬ移動と同期する必要があります。これを行う1つの方法は、
git checkout branchEx
git pull -f
です。このため、強制的にプッシュすることを検討するときはいつでもチームと調整することが重要です。
しかし、私はbranchExに対して行ったすべてのコミットを破棄したい – anaval