假设我在源代码管理中有一个包含许多子目录的项目,而这些子目录目前不需要。

我想创建一个仅包含整个树的一部分的工作副本,该副本仍保持进行更改,提交更改并将其推回的能力。

这可能吗?如果可以,我该怎么办?

我仍在决定选择集市还是商品市场,因此有关这两个方面的答案都将有所帮助。

编辑:实际上,git的解决方案也将很有用。

最佳答案

如果您已经有一个存储库,并且想要这样做,那将很痛苦。

如果要使用全新的存储库执行此操作,则可能需要查看Mercurial的新subrepos

基本上,您为某些目录创建独立的存储库:

myproject/
    .hg/
    source code/
        ... files here ...
    documentation/ (subrepo)
        .hg/
        ... files here ...
    graphics/ (subrepo)
        .hg/
        ... files here ...

这样可以将项目的不同部分隔离在不同的存储库中。 “包含”存储库(在本例中为myproject)跟踪每次提交时子存储库的修订版本。我提到的subrepo Wiki页面对此进行了很好的解释。

10-05 21:35