如何在压缩的提交上重新建立依赖分支以避免冲突?

问题描述 投票:0回答:1

我有3间分行

  • 功能
    A
    (不是由我管理)
  • 功能
    B
    (由我管理)
  • 分行
    main

我的

B
分支依赖于
A
分支,并且
A
已经被压扁在
main
分支中。
该图显示了当前的情况。

我想移动(变基)

B
对应于
Squashed A
的评论。
我使用命令
git checkout B && git rebase main
对其进行变基,但我有很多冲突需要管理,并且不容易避免问题或错误。

我已经找到了这篇文章,但我有一个已经压扁的分支(不是我压扁的)。
我怎样才能用很少的命令得到这个结果而不用很少的那么多麻烦?

git branch rebase squash
1个回答
0
投票

您链接的问题实际上包含您问题的答案:

# With start exclusive, end inclusive
git rebase --onto <where> <current-start> <current-end>

# Presented in a specific way for your case:
# git rebase --onto <squashed-commit> <old-non-squashed-branch-or-revision> <feature-branch>

# That is:
git rebase --onto main A B

这应该为您提供与操作之前

B
完全相同的内容。

您可以通过在执行任何操作之前创建标签并在操作之后使用

git diff <tag-before-ops> B
来进行双重检查。

© www.soinside.com 2019 - 2024. All rights reserved.