从错误的分支和合并中创建分支后恢复的最佳方法

我意识到已经有关于这个主题的类似问题发布了; 恐怕我没有掌握从这种情况中恢复的最好方法。 我在Windows上使用SourceTree。

我从dev开始分支,对一些文件进行了一些提交,然后推送到远程,并合并回dev。 事实证明,开发中有许多预先提交的提交内容,不会随时准备提升为主控,而且我确实应该从主控开始分支。

所以我从主人那里做了一个新的分支,然后我选择了我认为很好的原始分支的提交。 一个问题是,我最初修改的两个文件在新分支中会有不同的变化。

然而,我不确定最好的处理方式是将dev分支重新设置回它在我做出的两次合并之前的状态。 我是不是该:

  • 检查出第一个分支,将其重置为最初分支的位置,提交这些更改,推送到远程并合并?
  • 或者,查看第一个分支,在每个受影响的文件上选择日志,将每个文件重置为之前的提交,提交所有更改,推送,合并?
  • 或者是其他东西?
  • 这是图表。 最左边的分支是dev的原始分支。 下一个分支是来自主人的新分支,具有樱桃挑选的提交。 蓝线是我想重置dev的提交。 谢谢! 在这里输入图像描述


    鉴于NO ONE已经从远程develop分支中撤出,所有你需要做的就是覆盖分支develop所指向的内容,并遵循这些命令来做到这一点:

    # Change your local develop to point that old version of that branch 
    git checkout -B develop <commit-hash-of-blue-line-in-pic>
    # FORCE push your local develop to the remote develop
    git push origin -f develop
    
    链接地址: http://www.djcxy.com/p/49841.html

    上一篇: Best way to recover after creating branch from wrong branch and merging

    下一篇: Git revert a specific merge commit