的rebaseif善變擴展拉動只做如果合併能夠自動與沒有衝突進行衍合的時候,自動進行的過程。 (如果存在衝突手動解決,不重訂,讓你準備做兩個分支的手動合併)。這簡化和線性化,當開發商在代碼的不同部分正在工作的歷史,儘管任何rebase纔會拋當一個開發人員在工作時,可以瞭解關於世界狀況的一些信息。我傾向於喜歡this和this,在一般情況下,墊底是不是一個好主意爭論同意,但我覺得底墊,如果理念呼籲非衝突情況。儘管我明白在代碼的不同部分發生更改時仍然存在邏輯錯誤的風險,但我仍然處於這個問題的範圍之內(並且the author of rebaseif extension has come to feel it’s a bad idea.。)使用rebaseif工作流程時,版本控制中的對分是否受益?
我最近經歷了一個複雜而痛苦的對分,並且我認爲在我們的倉庫中大量合併短期分支機構是導致對分不能達到其暗示O(lg n)承諾的主要原因。我發現自己需要多次運行「平分 - 擴展」,才能將範圍擴展到合併範圍之外,一次執行幾個變更集,基本上實現了對分O(n)。我也發現跟蹤對分的過程非常複雜,並且瞭解到目前爲止我所獲得的信息,因爲在查看存儲庫圖形時我無法遵循分支。
是否有更好的方法來使用對開(和來看待和理解修訂歷史記錄),或者是我的權利,這一進程將是平滑的,如果我們有更多的rebaseif在開發中使用。或者,您是否可以幫助我更具體地瞭解在非衝突情況下使用rebase可能會出現哪些問題:是否可能導致應該避免的問題? git的用戶可能已經看到了陷阱:
我更普遍的(不僅僅是善變),因爲我覺得rebaseif相匹配的更典型的git的工作流程標註這一點。
關於給予hg可能的最大範圍(例如'0 :: tip')[這裏](http://stackoverflow.com/a/10458399)的價值有一些很好的對話。 – Edward
我明白,但是我說得對,你不能指望它在過去測試失敗的情況下工作嗎? Bisect可能會遇到一些已經修復的失敗,並稱該時期的開始是第一個已知的錯誤。 –
是的。當它找到一個從好到壞變化的點時,「bisect」將停止。你可能會嘗試改進你的測試(如果可能的話),以便只捕獲新的測試。或者你可以反轉你的測試,並使用舊的壞的開始找到下一個不好的過渡並從那裏重新開始。在我看來,開始更大和更窄範圍似乎比增加範圍更容易。 – Edward