Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 再一次:快进错误_Git_Fast Forward - Fatal编程技术网

Git 再一次:快进错误

Git 再一次:快进错误,git,fast-forward,Git,Fast Forward,因此,我将一个分支重新设置为与主分支相对应的分支。但是, git push --set-upstream origin MyBranch 我明白了 所以,好吧。再次重定基准。没有问题地完成。然后 git pull * branch HEAD -> FETCH_HEAD 好的,已经是最新的了 git push --set-upstream origin MyBranch 再次强调错误。我可以强迫自己,但我不喜欢失去东西的风险,老实说,我真的很想知

因此,我将一个分支重新设置为与主分支相对应的分支。但是,

git push --set-upstream origin MyBranch
我明白了

所以,好吧。再次重定基准。没有问题地完成。然后

 git pull

 * branch            HEAD       -> FETCH_HEAD
好的,已经是最新的了

git push --set-upstream origin MyBranch

再次强调错误。我可以强迫自己,但我不喜欢失去东西的风险,老实说,我真的很想知道一个合适的解决方案,即使我按照规则行事,这个恼人的问题似乎也会发生

根据你的描述,我将尝试对可能发生的事情做出一个有根据的猜测

Git拒绝将重定基础的提交推送到上游分支(
origin/MyBranch
),因为它们的提交哈希与已经存在的提交哈希不同。它们是不同的,因为您在与上游分支中的提交不同的提交之上重新设置了本地提交的基础

问题 下面是一个我认为你的情况可能是什么样的例子:

      Local                                Origin
A---B---C---F (master)                A---B---C---F (master)
            \                                 \
             D'---E' (MyBranch)                D---E (MyBranch)
  • origin/MyBranch
    中的提交
    D
    E
    最初基于
    master
    中的
    C
    之上。然后
    F
    成为
    master
    的新
    HEAD
  • 当您在
    master
    中执行
    git pull
    时,您在本地回购上获得了新的提交
    F
  • 您在
    master
    上重新设置了
    MyBranch
    ,它现在是
    F
    ,并将
    D
    E
    的提交散列更改为
    D'
    E'
  • 发出
    git-push-origin-MyBranch
    拒绝覆盖提交,因为git认为它们与
    origin
    中的提交不同,后者仍然基于
    C
    的顶部
  • (可能的)解决办法 如果您是唯一一个在
    MyBranch
    上工作的人,或者如果您可以轻松地与任何可能对在该分支上工作感兴趣的人进行沟通,那么我建议强制推送您的重定基础提交。同样,假设在此期间没有其他人将提交推送到
    origin/MyBranch
    ,则不会丢失任何内容


    如果这根本不能反映您的情况,请忽略此建议,如果可能,请添加有关问题的更多详细信息。

    您重新设置基础的分支已经被推送?是否执行
    git fetch
    git rebase origin/MyBranch
    可能的重复
          Local                                Origin
    A---B---C---F (master)                A---B---C---F (master)
                \                                 \
                 D'---E' (MyBranch)                D---E (MyBranch)