這很可能以前被問過,但我已經弄得我自己很困惑,試圖找到解決方案,我認爲只需發佈具體問題我很好試圖解決。Git - 從本地和遠程回購中刪除多個以前的提交
我想徹底刪除已刪除的提交(請參閱屏幕抓取),其他用戶不改動。正如你所看到的,這些提交併不總是遵循對方。我已經將所有這些提交都推送到遠程,所以我需要這個來反映那裏。是否有可能做到這一點?
我對使用Git比較陌生,所以任何建議都會很棒。謝謝。
Local repo commits - SourceTree screen grab
這很可能以前被問過,但我已經弄得我自己很困惑,試圖找到解決方案,我認爲只需發佈具體問題我很好試圖解決。Git - 從本地和遠程回購中刪除多個以前的提交
我想徹底刪除已刪除的提交(請參閱屏幕抓取),其他用戶不改動。正如你所看到的,這些提交併不總是遵循對方。我已經將所有這些提交都推送到遠程,所以我需要這個來反映那裏。是否有可能做到這一點?
我對使用Git比較陌生,所以任何建議都會很棒。謝謝。
Local repo commits - SourceTree screen grab
如果您已經被推這些提交,你不應該從歷史中刪除。這樣做會導致其他人遇到問題時,他們拉你的變化。
相反,您可以使用revert命令創建新的提交併從先前的提交中刪除更改。當您將此提交推送到遠程存儲庫時,它將與刪除提交具有相同的效果,但當其他人從該存儲庫中提取時不會導致問題。
要刪除最近提交了在圖像劃掉,輸入以下命令:
git revert 1e3e620
重複此任何其他承諾要恢復,然後按所有提交到遠程存儲庫。
使用git rebase -i
刪除提交,然後用--force
推送到遠程。 (處理那些已經從遙遠的地方拉下來的同事...)
我知道一個事實,即沒有人從遙遠的地方撤離。那麼這種方法是最好的選擇? – Aethyrion
沒有人從遠程拉動,所以現在使用rebase會是更好的選擇嗎? – Aethyrion
進行重新綁定會導致更清晰的歷史記錄 - 您不會看到原始提交或還原提交。在重新綁定後推送到遠程存儲庫時,您將需要包含'--force'參數。 – Andy
考慮到沒有其他人從回購協議中拉出來,我現在就要進行重新配售。但要記住你的解決方案。感謝您的幫助:) – Aethyrion