如何将更改推送到嵌套子树?

时间:2017-08-16 17:54:11

标签: git github

我有4个名为

的项目
  1. 数学
  2. 摄像机
  3. CGOpenGL
  4. OpenGLSandbox
  5. 数学相机子树相机子树 CGOpenGL ,最后 CGOpenGL OpenGLSandbox 子树

    当我在 OpenGLSandbox 工作时,我需要对数学进行一些更改。完成更改后,我执行git commit -am "bla bla"git push这是在顶级目录中执行的,即 OpenGLSandbox

    重要的是说我添加了三个遥控器

    1. rmath指向数学回购
    2. ropengl指向CGOpenGL的回购
    3. 原点指向OpenGLSandbox的回购
    4. 在上一次提交主项目(OpenGLSandbox)之后,我想将更改从Math推送到其存储库,所以我尝试了git subtree push --prefix=cgopengl/camera/math rmath master

      a)前缀的值是项目的路径,即我们要推送的子树

      上一个命令以下列错误结束

       ! [rejected]        f60f3e788d6e8713a525cab0fe187f5f3b230b8e -> master (non-fast-forward) 
       error: failed to push some refs to 'https://github.com/user123/Math.git' 
       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.
      

      所以我尝试用git subtree pull --prefix=cgopengl/camera/math rmath master进行拉动并得到以下错误

      fatal: refusing to merge unrelated histories
      

      b)如何从OpenGLSandbox项目中推送对Math进行的更改?我无法找到克服这一点的方法。我在哪里弄错了?

0 个答案:

没有答案