我使用 Git 书中描述的结构设置了两个存储库:http: //git-scm.com/book/ch6-7.html。基本上,我想在一个 repo 的副本和它的 master 分支之间保持关系。我知道你可以用子模块做到这一点,但更新它们的过程似乎有点麻烦,我被告知(并阅读)子树更容易使用。无论如何,我将“RepoA”设置为其中包含“RepoB”的子树。我按照 T 恤链接中提供的步骤进行操作。
我对“RepoA”中的子树进行了重大修改。同时,我团队的其他人正在对“RepoB”上的master进行修改。当一切都说完了,我希望我可以从“RepoB”源/主节点中提取更改并将它们合并到 RepoA 中的子树中。但是,当我这样做时(使用带有 --squash 和 --no-commit 的 -s 子树合并选项),我对 RepoA 中的子树所做的所有更改都将被删除。甚至我添加到子树的新文件也会被删除!为什么是这样?我误解了子树的使用吗?我是否不正确地合并它?任何帮助将不胜感激!
此外,如果无法将这些与子树合并正确合并,那么我唯一的选择是手动、手动合并它们并创建新的项目结构吗?
谢谢!