在我的本地倉庫中,我有一個文件A並對其進行了一些更改。但我不想將此更改提交到遠程回購。問題是如果我沒有在TortoiseHG中提交這些更改,每當我更改其他文件時,A都會列在「更改列表窗口」中。如何在Mercurial中保留本地更改並使其「隱形」
我知道,TortoiseHG有一個擱置功能。它可以存儲臨時文件。但擱置中的文件將恢復原始狀態。
在我的本地倉庫中,我有一個文件A並對其進行了一些更改。但我不想將此更改提交到遠程回購。問題是如果我沒有在TortoiseHG中提交這些更改,每當我更改其他文件時,A都會列在「更改列表窗口」中。如何在Mercurial中保留本地更改並使其「隱形」
我知道,TortoiseHG有一個擱置功能。它可以存儲臨時文件。但擱置中的文件將恢復原始狀態。
考慮使用Mercurial patch queues來管理本地更改。使用MQ,您可以排隊本地更改並將它們隱藏起來以備將來使用。
爲擴展名的文件,這裏的標準的工作流你使用收拾供將來使用局部變化:
$ hg qnew choosename
$ hg qpop
$ # ...
$ # restore
$ hg qpush
$ hg strip -k choosename
$ hg qremove choosename
還有shelve,但我從來沒有使用過它。
提交更改,然後將提交的階段修改爲「祕密」。請注意,祕密變更集的任何兒童變更集也將是祕密的。
你可能希望保持與這些變化的私有分支 - 只是使第一次提交到分支祕密,然後定期從主分支合併到你的私有分支。
另一種方法是執行上述操作,但不使變更集保密。這將允許將分支推送到可以獲得備份等益處的中央服務器,以及這些更改可能對其他開發者(但仍然不在主分支)有用的可能性。
Thx,MQ是驚人的。 – scott