2015-09-15 104 views
0

將一些不良提交合併到上游主設備,之後我的特性分支在從上游主設備上拉出後也受到污染。使用櫻桃採摘 - 我能夠清理上游的主人,但現在如果我將我的本地代碼合併到清理的主人,它將再次受到污染。如何清理git master分支

我甚至不能放棄所有本地更改,因爲有相當多的相同數目。在這種情況下,rebase是否有幫助 - 或者我可以合併本地更改(除了本地錯誤代碼之外)。

因爲開發環境是高度分佈式的,所有當地人的櫻桃採摘並不是真正的選擇。

謝謝!

+0

我不知道git那麼好。我仍然習慣於維護遠程主「裸」目錄,並在使用主服務器的系統之間來回移動更改。你能否宣佈分支並開始乾淨?我明白爲什麼你不能拋棄所有的本地變化。通常情況下,我會避開一個分支,但重新開始而不會丟掉聲音,聽起來像是一個分支。 – octopusgrabbus

+0

嗯,我可以 - 但那麼有近100個其他開發人員,誰不會'!但感謝您花時間回覆 - 真的很感謝! –

回答

0

一旦變化上游,你就會迷路。當然,你可以重新分配,放棄壞提交,然後git push -f,但這在共享回購中被認爲是不好的做法。

您可以嘗試以相反順序嘗試git revert糟糕的提交。雖然糟糕的提交仍在歷史中,但錯誤的代碼將從工作副本中消失。 回覆提交然後推送到上游回購。

+0

好吧,「你迷路了」通常不會是答案!最後讓它與櫻桃採摘和修補工作 - 但謝謝你的迴應! –