我一直在研究一个项目的git子树,其中有多个开发人员,多个存储库在运行。我使用的是sourcetree,我能够从其他存储库中为我的工作副本添加子树,并能够将这些更改推送到远程副本。一切都在我的工作正常,我能够看到sourcetree中列出的子树,有选择地推送更新到子树,从中获取更新等。
主要问题是,当另一个开发人员从远程检出主工作副本时,所有子树被绑定为目录,他们无法在任何地方看到子树信息。我的意思是sourcetree没有显示在我的系统中添加的子树,整个项目显示为一个巨大的存储库而不是一个具有多个子树的存储库。子树信息在哪里去了?
git是否仅限于本地语言,或者我是否在git子树上遗漏了大量内容?
我也尝试使用终端而不是sourcetree添加子树,但即便如此,我也无法在任何地方看到子树信息。
答案 0 :(得分:0)
Git子树创建从远程存储库到目标存储库的“常规”提交。它确实向提交消息中添加了一些元数据...而对于后续的pull
命令,则是used internally。
git-subtree-dir: example/foo
git-subtree-split: 0b3d928dce8262dedfc2f83b9aeb59a94e4f0ae4
当前没有“子树列表”命令,尽管有人修补了git-subtree.sh并显然将该补丁推到了Git邮件列表中(尽管我找不到该补丁的状态)。
https://blog.developer.atlassian.com/the-power-of-git-subtree/