(我必须使用子树而不是子模块,因为子存储库的设计使得必须在其中维护文件夹。这很痛苦,但是这个子存储库中有一个子目录,其子更改属于最外层的存储库。 )
我遵循了这个指南:https://help.github.com/articles/about-git-subtree-merges/我做的唯一改变就是我使用了--squash。
我成功删除了子目录中的所有内容(属于外部仓库的一个内部文件夹除外),并从子树中添加了压缩的代码,将所复制的代码替换为子树,所有这些都在一次提交中完成。这很有效。
什么不起作用是与子树的更新同步的命令。 git pull -s subtree subrepo-name commit-name --squash
删除了所有repos中的所有内容,并将其替换为我无法识别的内容,可能来自其他分支。
使用read-tree
和pull -s subtree
而不是subtree pull
有点令人困惑。似乎这一切都与subtree
不相容。有没有更好的方法来实现这一目标?