我会尽可能简洁地解释我的情况:
我有一个模板项目,我在开始新项目时将其用作模板 (duh)。 这个模板项目不断发展,有时我会在处理另一个项目时更新它。
想象一下:
- 模板项目:template.file
- 项目 A:template.file & projectA.file
- 项目 B:template.file & projectB.file
(所有项目都在修订控制下)现在,当我更改项目 A 中的 template.file 时,我希望所有其他项目中的所有其他 template.files 都更新
我在 Windows 上使用 tortoisehg,我对这个版本控制游戏还比较陌生。我想我会用分支来做这个?但是 projectA.file 和 ProjectB.file 不会也被添加到模板项目中吗?
最佳答案
这是你可以做的事情:
进入模板项目并 merge 到项目 A 中,然后在提交之前删除所有不需要的内容。这是相当费力和耗时的。
然后您可以进入 project be 并从模板项目中拉取并非常小心地 merge 。
出于多种原因,我不会这样做。首先,它困惑且容易出错。其次,它会导致两个项目都包含所有其他项目的所有文件,即使在最新修订中这些文件被认为已删除。历史仍然存在。
这是您可以做的另一件事:
使用 hg export
从项目 A 导出修改模板文件的更改。然后使用 hg import
将该更改导入您的模板项目。
然后从模板项目中拉取到项目A和项目B中并 merge 。
这要求您在修改项目 A 时自律,并始终对模板文件进行修改。
或者,您可以手动修改导出的更改以删除无关的更改。
这是您可以做的第三件事:
始终只在模板项目中修改模板文件。然后你可以从模板项目中拉取到项目 A 和 B 中并 merge 。
关于mercurial - 你能用 Mercurial 从一个项目更新另一个项目吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5929065/