幾個提交已被推送到原始分支。這些提交包含導致問題的代碼。爲了解決這個問題,我在問題開始之前做了一次git reset --hard <sha>
的提交。本地分支從Origin分支發散,但我不想合併/ fastforward
我已經解決了問題並在本地提交。現在我想推到Origin,但是我不能這樣做,因爲我的分支是由5次提交(導致問題)和1次提交(修復提交)提前後面的Origin。即。分支分支。
我不想合併來自Origin的任何更改。我怎樣才能將Origin的頭部設置爲我的本地提交的頭部,而不需要合併到我的本地分支中的分割提交?
謝謝!
謝謝! 'git push -f'已經成功了。我造成了中斷並應用了修復程序(現在),因此不需要保留重大更改。出於興趣,如果其他任何人的遠程分支歷史在其下面發生變化,會出現什麼問題? – Nick
_they_將無法再推動,因爲他們的HEAD不再與遠程HEAD相關(既不是另一個的祖先,儘管它們在你最後一次良好的_sha_中共享一個共同的祖先)。他們最好的選擇是重新設計或者將他們的改變挑選到新的遠程分支上。 – Useless
您通常會避免'git push -f'出於同樣的原因,您永遠不會重新綁定已發佈的提交。如果任何人擁有舊版本,他們的存儲庫會處於需要手動修復的狀態以恢復到可以與其他人交互的狀態。 – poke