Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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_Git Merge - Fatal编程技术网

在没有合并提交的情况下恢复git合并

在没有合并提交的情况下恢复git合并,git,git-merge,Git,Git Merge,我把一个特写从开发中分离出来。我在那个功能分支上做了几次提交。然后,我将该功能分支合并回develope,并将所有内容推到原点 我只是注意到git做了一个我并不想要的快进动作。是否可以恢复该合并?在git日志中,没有提交合并(在执行合并时也没有要求我发表评论) 如果重要的话,自我推动合并以来,没有任何变化。如果您仍然拥有功能分支,则可以执行以下操作: 警告:只有在100%确定自提交后开发中没有更改要删除的内容时,才应执行以下操作 查找合并前开发上最后一次提交的SHA。(即合并前的开发状态) 在开

我把一个特写从开发中分离出来。我在那个功能分支上做了几次提交。然后,我将该功能分支合并回develope,并将所有内容推到原点

我只是注意到git做了一个我并不想要的快进动作。是否可以恢复该合并?在git日志中,没有提交合并(在执行合并时也没有要求我发表评论)


如果重要的话,自我推动合并以来,没有任何变化。

如果您仍然拥有功能分支,则可以执行以下操作:

警告:只有在100%确定自提交后开发中没有更改要删除的内容时,才应执行以下操作

  • 查找合并前开发上最后一次提交的SHA。(即合并前的开发状态)

  • 在开发分支上执行以下操作:

    git reset --hard <sha-of-old-develop>
    

  • 现在,存储库应该恢复到合并前的状态。

    快进没有定义的合并提交:唯一执行的操作是重新定位
    develope
    分支。因此,可以使用以下命令还原该更新:

    git checkout develop                       # Go back to develop
    git reset --hard develop@{1}               # Reset develop to its previous location
    git push --force-with-lease origin develop # Push it, discarding the fast-forward
    
    然后,如果要强制合并提交事件为空,请使用
    --no ff
    标志:

    git checkout develop
    git merge --no-ff feature/<x>
    
    git签出开发
    git合并--没有ff特性/
    
    git checkout develop
    git merge --no-ff feature/<x>