注:git push -f
質問がよくあることは承知していますが、この特定の質問に対する回答をどこにも簡単に見つけることができませんでした。私の問題をある程度解決するだけでなく、包括的な回答が必要です。質問の最後に、自分で解決策を提案します。
(職場で)すべきではないブランチにいくつかの変更をプッシュしました。私はすでに変更を行っていますが、チーム コーディネーターの 1 人が、元に戻すコミットによって履歴が乱雑にならないように、git revert
実際に行ってほしいと言いました。git reset <old commit> && git push -f
そのブランチを使用する人はほとんどいないため、リスクを負う価値があると考えました。
うまくいきましたが、履歴がまだ分岐していないため、すでにコミットをプルした人が誤ってリモートブランチを再び早送りする可能性があるのではないかと心配しています(古いコミットにリセットしただけで、他にはコミットしていません)その上にコミットします)。
もし私がgit reset <old HEAD commit> && git status
、Git がそれは の数コミット前であると言っていることorigin/<branch>
に気付きgit push
ました。
git pull
レポは最新であり、バックトラックしないと言います(とにかく、そうすべきではないと思います)。では、全員が正しい HEAD に戻ってorigin/<branch>
そこから作業できるようにするにはどうすればよいでしょうか? git reset origin/<branch>
そのブランチでの作業を再開する前に、全員に依頼する必要がありますか? もっと簡単でエラーが起きにくいものを本当に求めていました (彼らはそれを忘れるかもしれません)。
共有レポのブランチを git リセットするべきではないことはわかっていますが、それがどのようなものかはご存じのとおりです... 時には、単に冒険的な気分になったり、上司にそうするように頼まれたりして、それが間違っていることを知っていても、とにかく教育経験:P