当前位置:   article > 正文

如何比较两个新旧分支,将新的分支中的修改去掉另一旧分支的修改?_怎样从一个分支中去掉另一个分支的修改

怎样从一个分支中去掉另一个分支的修改

本人github

如果你有两个分支(例如,一个叫old-branch,另一个叫new-branch),并且你想比较这两个分支以去掉new-branchold-branch已经做过的修改,你可以使用以下几种方法:

方法 1:使用 git diffgit apply

  1. 生成两个分支之间的差异:

    git diff old-branch..new-branch > changes.patch
    
    • 1
  2. 切换到new-branch

    git checkout new-branch
    
    • 1
  3. 反向应用差异:

    git apply -R changes.patch
    
    • 1

这将撤销new-branch中所有old-branch已经做过的更改。

方法 2:使用 git rebase -i

  1. 切换到new-branch

    git checkout new-branch
    
    • 1
  2. 交互式地rebase到old-branch

    git rebase -i old-branch
    
    • 1

这将打开一个文本编辑器,列出所有new-branch相对于old-branch的提交。你可以删除那些你不想保留的提交行。

方法 3:使用 git cherry-pick

如果你知道具体哪些提交是new-branch特有的,并且你想保留它们,你可以创建一个全新的分支,然后逐一选择你想要的提交。

  1. old-branch创建一个新分支:

    git checkout old-branch
    git checkout -b new-clean-branch
    
    • 1
    • 2
  2. 逐一选择(cherry-pick)你想要的提交:

    git cherry-pick <commit_hash>
    
    • 1

这样,new-clean-branch就只会包含你明确选择的提交,而不会有old-branch中的任何更改。

选择适合你的方法,并谨慎操作。希望这能帮助你!有其他问题吗?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/977058
推荐阅读
相关标签
  

闽ICP备14008679号