如何推送一个浅克隆的 Git 子树?

man*_*art 6 git github git-subtree

我有一个存储库,其中包含一个用于将部署文件推送到不同遥控器的子树。

重新设置存储库时,我执行以下操作:

  • 克隆存储库。
  • 为子树添加遥控器。
  • 从子树远程获取。
  • 像往常一样提交并推送到主远程分支和子树。

我最近尝试通过将--depth参数添加到第一步和第三步来减小本地磁盘的大小。

推送到主远程工作正常,但我无法再推送到子树。我得到: error: failed to push some refs to '<repo>' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again.

是否有任何机制可以实现这一目标?我尝试增加深度,但最终我不得不从遥控器获取 --unshallow才能再次推送我的子树。

我的本地 Git 版本是 2.7,子树遥控器是 2.3。主存储库位于 GitHub 上。