假设我在源代码管理中有一个包含许多子目录的项目,而这些子目录目前不需要。
我想创建一个仅包含整个树的一部分的工作副本,该副本仍保持进行更改,提交更改并将其推回的能力。
这可能吗?如果可以,我该怎么办?
我仍在决定选择集市还是商品市场,因此有关这两个方面的答案都将有所帮助。
编辑:实际上,git的解决方案也将很有用。
最佳答案
如果您已经有一个存储库,并且想要这样做,那将很痛苦。
如果要使用全新的存储库执行此操作,则可能需要查看Mercurial的新subrepos。
基本上,您为某些目录创建独立的存储库:
myproject/
.hg/
source code/
... files here ...
documentation/ (subrepo)
.hg/
... files here ...
graphics/ (subrepo)
.hg/
... files here ...
这样可以将项目的不同部分隔离在不同的存储库中。 “包含”存储库(在本例中为myproject)跟踪每次提交时子存储库的修订版本。我提到的subrepo Wiki页面对此进行了很好的解释。