在Mercurial中,修訂的階段可以任意更改。 (公開,草稿,祕密)x(公開,草案,祕密)?哪些階段變化是安全的?這可能會導致麻煩和哪種麻煩?哪些是或多或少沒有操作?Mercurial:改變階段的後果是什麼?
8
A
回答
8
提交的默認階段是draft
,這就是他們在階段不存在時的處理方式。當推送draft
變更集時,mercurial會自動將其階段更改爲public
。您可以使用它來了解您已發佈或未發佈的變更集。
但真正的問題是,當變更爲public
階段,水銀不會讓你與歷史編輯擴展更改它們(如mq
,rebase
等)。這非常重要,因爲歷史編輯在本地存儲庫中僅發生只有,它們不會與pull
/push
操作一起傳播。所以,一旦變更集發佈,它就失控了,改變它是很危險的。
您可以從任何階段更改爲任何其他階段。 「正常流量」是移至較高階段(secret-> draft-> public),但Mercurial允許將更改設置爲--force
選項的較低階段。單獨的相變是無害的。例如,從public
移動到draft
或secret
時發生的唯一一件事情是,歷史編輯的保護被刪除,沒有別的,拉和推將仍然正常工作,Mercurial永遠不會對變更集產生混淆,因爲它們具有唯一的標識符。在之後發生的歷史編輯行爲這樣的相位變化是什麼會導致問題。這就是爲什麼Mercurial會在相位變化中發出警告並要求使用--force
選項,以此確認您真正想要的。
在一般公佈的提交不應該被修改,這是階段試圖確保。但是,也許你可以控制所有的存儲庫。或者,也許你推了些東西,而且你知道沒有其他人拉它。無論是什麼原因,您都可以選擇強制變更集的階段重新生成並編輯它們。但是這個版本必須在每個有變更集的倉庫中完成。
5
- 一個公共修改不能與歷史編輯工具進行編輯(即
mq
,rebase
)。 - A 祕密修訂版不能推送到另一個存儲庫(當您提供push命令或其他存儲庫嘗試提取時,它將被忽略)。
- A 草稿版本允許這兩個版本,但如果它被推送到另一個存儲庫,則會自動更改爲public。
相系統的目的是爲了防止你修改修訂您已經將其推到另一個倉庫,這是一個壞主意,除非你能夠從所有刪除舊版本的修訂後它被推送到的存儲庫。
所有的相位變化都或多或少沒有操作;它只是一個標誌,指出修訂版本的作用或不安全。
相關問題
- 1. 什麼階段停止傳播效果?
- 2. AngularJS中的$$階段是什麼?
- 3. 爲什麼Paxos是兩個階段
- 4. Mercurial變更集究竟是什麼?
- 5. 什麼是Mercurial bisect?
- 6. MapReduce階段中使用的Sort是什麼,爲什麼?
- 7. 在Mac上支持Mercurial的分階段更改
- 8. 什麼是$的輸出階
- 9. varchar的後果是什麼?
- 10. 什麼是SVN,GIT,mercurial等?
- 11. 我的任務使用什麼階段?
- 12. 這段代碼段的輸出結果是什麼?爲什麼?
- 13. 將viewstate Data附加到動態控件的最後階段是什麼?
- 14. WebKitErrorFrameLoadInterruptedByPolicy改變這是什麼?
- 15. 這段代碼的結果背後的原因是什麼?
- 16. 在Mercurial中籤署變更集的目的是什麼?
- 17. 捕獲階段與氣泡階段 - 爲什麼下面的代碼不會產生相同的結果?
- 18. 爲什麼`git結帳<branch><file>`變更階段?
- 19. 創建網站的實際階段是什麼?
- 20. Bootstrap中的階段和塊類是什麼?
- 21. 在CodeIgniter中創建對象的階段是什麼?
- 22. 什麼是在JavaScript的初始化階段?
- 23. 什麼是運行腳本的構建階段在Xcode 4
- 24. JSF-SEAM階段的'官方'SEAM方式是什麼?
- 25. 什麼是Maven的目標和階段,它們有什麼不同?
- 26. Mercurial中修訂號後的加號是什麼
- 27. Mercurial變更集ID中的兩個數字是什麼?
- 28. mercurial中書籤的用途是什麼?
- 29. 查看階段0的階段1計算結果
- 30. 改變字段輸出的最佳方式是什麼?
感謝這些細節,但它不能回答我的問題:更改現有變更集的階段時會發生什麼?例如。從公開場合到已經推出的變更集的祕密?這是否有效或可能會混淆Mercurial? – mstrap
您可以從任何階段更改爲任何階段。會發生什麼情況是,如果您嘗試更改爲較低階段,則必須使用「--force」進行確認。相變本身不會引起任何問題。什麼會導致問題是你在改變階段後所做的。當你從'public'變成'draft'時,你正在消除歷史編輯的保護,它可以讓你搞砸了。 –
Mercurial怎麼樣 - 它可以通過從公開變爲草稿而變得困惑嗎? – mstrap