2013-08-07 48 views
2

在我的本地仓库中,我有一个文件A并对其进行了一些更改。但我不想将此更改提交到远程回购。问题是如果我没有在TortoiseHG中提交这些更改,每当我更改其他文件时,A都会列在“更改列表窗口”中。如何在Mercurial中保留本地更改并使其“隐形”

我知道,TortoiseHG有一个搁置功能。它可以存储临时文件。但搁置中的文件将恢复原始状态。

回答

2

考虑使用Mercurial patch queues来管理本地更改。使用MQ,您可以排队本地更改并将它们隐藏起来以备将来使用。

为扩展名的文件,这里的标准的工作流你使用收拾供将来使用局部变化:

$ hg qnew choosename 
$ hg qpop 
$ # ... 
$ # restore 
$ hg qpush 
$ hg strip -k choosename 
$ hg qremove choosename 

还有shelve,但我从来没有使用过它。

+0

Thx,MQ是惊人的。 – scott

4

提交更改,然后将提交的阶段修改为“秘密”。请注意,秘密变更集的任何儿童变更集也将是秘密的。

hg help phases

你可能希望保持与这些变化的私有分支 - 只是使第一次提交到分支秘密,然后定期从主分支合并到你的私有分支。

另一种方法是执行上述操作,但不使变更集保密。这将允许将分支推送到可以获得备份等益处的中央服务器,以及这些更改可能对其他开发者(但仍然不在主分支)有用的可能性。

相关问题