首先,我错误地将另一个 repo 源直接复制到一个更大的项目中,在一个子目录中。从那时起,原始 repo 和 subdir 都发生了变化。现在我了解了 git-subtree,我想将 subdir 作为一个真正的子树,以便我可以轻松地同步原始 repo 的更改。
我尝试了“git-subtree split”,然后从原始存储库中提取最新源,它就起作用了。但是,我不想要整个历史记录,但是“--squash”不适用于“拆分”,这是我的命令
git subtree split -P xxx-dir --onto==1940032
git remote add xxx https://github.com....
git fetch xxx
git subtree pull -P xxx-dir xxx master
# the pull worked, but whole history of xxx was imported too. '--squash' didn't work for above 'pull'
git subtree merge -P xxx-dir xxx/master --squash
# Can't squash-merge: 'xxx-dir' was never added.
看起来壁球仅适用于添加但不拆分的子树。
任何想法?谢谢。