我對Mercurial相當陌生,但我看到使用Mercurial的一個優點是,在編寫功能時,您可以更自由地進行實驗,檢入更改,共享它們,等等,同時仍然保持完成特徵的「乾淨」回購。將實驗記錄保存在Mercurial的共享存儲庫中
這個問題是歷史問題之一。如果我嘗試了6種不同的方式來完成某些工作,現在我堅持了所有的歷史來應對所有的錯誤。我想要做的是通過並清理我的更改並將它們「摺疊」成一個可以推入共享存儲庫的變更集。這很複雜,因爲我可能從共享存儲庫中提取新的變更集,並將這些變更集與我自己的變更集混合在一起。
我知道這樣做的最好方法是使用hg export來創建自克隆,克隆新存儲庫並將修補程序應用到新存儲庫後所做更改的修補程序。
這些步驟似乎有點麻煩,容易搞砸,特別是如果這種方法被推廣到整個開發團隊,其中一些人有點改變(不要讓我開始)。 TortoiseHg使這個過程稍微好一點,因爲您可以突出顯示要包含在導出中的變更集。
我的問題是這樣的:我是否會讓它比需要的更復雜?有更好的工作流程可以用來緩解我的煩惱嗎?期望在一個變更集中包含整個(small-ish)特性的清晰歷史是否太多了?
或者,也許我的整個問題可以這樣概括:
是否有善變這等同? Collapsing a git repository's history
你有沒有理由不使用分支? http://mercurial.selenic.com/wiki/Branch – 2011-04-20 15:17:10
您是否在問如何在使用Mercurial時進行安全實驗,以供將來參考,您是問如何使用現有的實驗並擺脫它們,或者您是在問採取您現有的實驗並摺疊他們的變更集並保留這些變更?我有點不確定,因爲你似乎在描述你想要做的很多事情。你能縮小它嗎? – 2011-04-20 15:18:04
對不明確的含義。基本上我認爲我的實驗歷史是一條走向最終結果的曲折道路,但我希望我最後推動共享回購,以忽略所有中間步驟。基本上,我想在我的工作副本和共享存儲庫中的版本之間進行差異化,而沒有「哎呀,這不起作用」的歷史。 – JWman 2011-04-20 15:24:48