我在私人仓库中有一个私人项目,将它作为一个项目保存非常方便。通过这种方式,使用IDE可以很容易地在没有任何特殊命令的情况下使用它。
但我也希望在github上发布它的一部分并有时更新公共版本。如何创建repo的一个子目录A repo B的顶级目录并且仍然将所有标准命令应用于整个repo A?
答案 0 :(得分:0)
可能子模块/子树是最好的方法,但只是提供一个(有些复杂的)替代方案:
git filter-branch --subdirectory-filter
将repoA的子文件夹B解压缩到一个新的独立repoB(请注意filter-branch
重写回购,因此您应该在repoA的单独副本上执行此操作 )git remote add repoA ...
git fetch repoA; git cherry-pick ...
挑选到repoB。 Git可以管理这个,即使两个repos的文件结构不匹配(一切都应该没问题,只要在repoA中提交你想要后退到repoB的提交在subfolderB
中是独立的)