将子目录从一个git存储库部署/推送到另一个存储库

时间:2013-10-22 11:32:31

标签: git web-deployment dvcs branching-and-merging git-subtree

我拥有两个git存储库: A B ,两者主要用于他们自己的主分支。

A 包含以下文件夹:

  • folder1中
  • 文件夹2

B 包含此文件夹:

  • folder3

为了部署包含 folder3 A ,我想将folder3 B 推送到 A < / strong>即可。 我希望这种关系只是单向的,意味着 A 更新 B B 中没有pull A < /强>

我最终会得到包含这些文件的A:

  • folder1中
  • 文件夹2
  • folder3 (推送)

当然,关于第一次部署, 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命令......

0 个答案:

没有答案