我拥有两个git存储库: A 和 B ,两者主要用于他们自己的主分支。
A 包含以下文件夹:
B 包含此文件夹:
为了部署包含 folder3 的 A ,我想将folder3
从 B 推送到 A < / strong>即可。
我希望这种关系只是单向的,意味着 A 更新 B 但 B 中没有pull
到 A < /强>
我最终会得到包含这些文件的A:
当然,关于第一次部署, A 并不知道 folder3 的存在。
因此,我发现网上的命令git subtree似乎可以很好地完成这项任务。
因此,我在 B 存储库目录中尝试完成此任务的整个过程是:
git remote add A https://githubAdressOfA
git subtree prefix --folder3 --squash A master
然而,我遇到了这种错误:
Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
据我所知,在我上面解释的单向场景的情况下,“子树”的概念不应该需要 B repo上的pull
。
如何有效处理此案件?也许我误用了subtree
命令......