我一直在寻找 git subtree 的一个项目,其中会有多个开发人员,多个存储库在运行。我正在使用 sourcetree 并且我能够从其他存储库向我的工作副本添加子树,并且能够将这些更改推送到远程副本。最后一切正常,我能够看到源树中列出的子树,有选择地将更新推送到子树,从中获取更新等。
主要问题是,当另一个开发人员从远程 check out 主工作副本时,所有子树都被配置为目录,他们无法在任何地方看到子树信息。我的意思是 sourcetree 没有显示在我的系统中添加的子树,整个项目显示为一个巨大的存储库,而不是一个具有多个子树的存储库。子树信息哪里去了??
git subtrees 只是本地的还是我在 git subtrees 上遗漏了一些大的东西?
我还尝试使用终端而不是 sourcetree 添加子树,但即使如此,我也无法在任何地方看到子树信息。
最佳答案
Git 子树创建从远程存储库到目标存储库的“常规”提交。它确实向提交消息添加了一些元数据......那就是 used internally用于后续 pull
命令。
git-subtree-dir: example/foo
git-subtree-split: 0b3d928dce8262dedfc2f83b9aeb59a94e4f0ae4
目前没有“子树列表”命令,不过,有人修补了 git-subtree.sh 并且显然将该修补程序推送到 Git 邮件列表(尽管我找不到该修补程序的状态)。
https://blog.developer.atlassian.com/the-power-of-git-subtree/
关于git - 在哪里可以找到有关添加的子树的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33801126/