总结问题:
将一组文件从现有存储库转移到新的子存储库的最简单(也是最好)的方法是什么,以便这些文件可以与其他父存储库集成,其中一些可能还不存在?
子存储库中的文件是否需要位于离散文件夹中,或者它们可以与其他文件一起存在?
详细问题:
我已经开始创建多个存储库的过程,这些存储库代表具有共享组件的多个项目,并且进展顺利,这要感谢 SO 以及对我的问题的一些有用答案
当我继续添加第二个项目时,我注意到我的项目中有一些文件是重复的,并且本质上是相同的,具有足够的相似性以保证将它们从主项目存储库中取出并创建一个新的子存储库,以便它们可
- 被我开始的任何新项目所使用,并且
- 从其他现有存储库中删除,因为它们是相同的。
我假设最好的方法是简单地创建一个新的存储库,在本地文件系统上移动文件,推送两个存储库,然后创建一个 .hgsub 文件并按照我之前的问题的答案继续。这显然会将相关文件转移到每个主项目下的本地文件系统中的子文件夹中,我可以忍受,但它确实提出了一个假设的问题 - 是否有可能在存储库中有一个有效的文件列表子存储库的一部分,但与其他文件一起存在(即不在子文件夹中)。
如果我想(例如)在属于另一个存储库的每个项目中都有一个“acme.h”文件,我可以这样做吗?碰巧的是,我此时不需要这样做,在我目前的情况下,从设计的角度来看,将我需要“重构”到另一个存储库中的文件更好地放在他们自己的子文件夹中,但情况可能并非总是如此。我在这里使用引号中的重构,严格来说,它更多的是重构重复的文件,即重构代码——但是同样的原则也适用。
希望我的问题足够简洁,无需过多解释即可回答。