我有一个包含子目录的仓库。
我想将该子目录转换为旋转git repo,然后将我自己的提交添加到其上。
我还希望能够将原始父repo中的更改合并到何时发生,但当然只会影响子目录中文件的提交。
这是可以做到的吗?
答案 0 :(得分:4)
这正是git subtree
命令的设计目的。 (请注意,这与“子树合并策略”不同)。您可以在此处找到有关git subtree
的更多信息:
答案 1 :(得分:1)
简短的回答:这是非常重要的,我怀疑是否值得你这么做。我只考虑分支整个存储库,只对子目录进行更改。
那就是说,如果你真的需要自己的子目录,我会想到两个基本选项:
只需将文件从子目录复制到新的存储库中,然后将其从旧存储库中删除。你会失去历史,但这很容易。
创建一个新的存储库,将旧的存储库添加为远程存储库,然后从旧的存储库中选择修改您感兴趣的目录的提交。这会将历史记录保存在新的存储库中,但它会给出您是一个包含单个目录的存储库,您可能不需要它。
第二种策略可以合并旧存储库中的更改;您可以根据需要简单地从旧存储库中选择提交。