gpt4 book ai didi

git - 修改 git merge 和 rebase

转载 作者:太空狗 更新时间:2023-10-29 14:16:49 26 4
gpt4 key购买 nike

tl;dr

我已经完成了一个 master -> feature merge 来更新和解决实际 merge 之前的冲突。
我可以改为将功能 rebase 到 master 上并应用 merge 中的冲突解决方案吗?

我拥有的:
o               - TODO merge feature -> master|\| o     feature - "Merge remote-tracking branch 'origin/master' into feature"|/|o |     master         | o             - "Implement some new feature here"| |...|/  o
我想要的是:
o               - TODO merge feature -> master|\| o     feature - "Implement some new feature here"|/o       master         |...|o

长版

我想 merge 一个比较旧且有冲突的特性分支,因为其他工作同时被 merge 到master。首先,我通过 master -> feature merge 从 master 更新了功能分支。现在我能够成功地将功能分支 merge 回去而不会发生冲突。但现在看看他的历史,我意识到我应该将我的功能重新定位到最新的母版上。不幸的是,我不得不解决相当多的冲突,我可以重用当前状态吗?

最佳答案

正如 Tim Biegeleisen 评论的那样,您不能直接在 rebase 中重用 merge 提交(这是您解决冲突的地方)。

merge 冲突在 merge 提交中解决,当您执行 rebase master 命令时, merge 冲突将消失。

但是,如果 merge 冲突特别痛苦和/或如果您只有少数几个提交需要处理,您可以遵循以下工作流程:

  • master merge 到功能中
  • 解决冲突
  • 软重置您的功能分支
  • 存储更改
  • rebase 大师
  • 重播你的藏品
  • 重新创建您的提交

通过执行软重置,实际文件更改 merge 后得以保留,因此您无需像只是 rebase 时那样解决冲突。

关于git - 修改 git merge 和 rebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49108808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com