已恢复的精选提交的 Git rebase 可以将其设置为 "lose"

标签 git rebase

我有这样的历史:

          A---B---C---!BC
         /              \
    D---E---F---G--------H master
        \
         B'---C' new-branch

提交 BC 最初是在顶部的功能分支中创建的,然后在提交 !BC 中恢复,然后是整个分支已 merge 到master。提交 B'C' 已被精心挑选到新分支。

我现在想将 B'C' 重新设置为 master,结果如下所示:

          A---B---C---!BC
         /              \
    D---E---F---G--------H master
                          \
                           B'---C' new-branch

但是,运行 git rebase master 会产生以下结果:

          A---B---C---!BC 
         /              \
    D---E---F---G--------H master
                           new-branch

这在技术上是正确的,正如 git-rebase 文档所述 this :

a patch already accepted upstream with a different commit message or timestamp will be skipped

但是,从人的角度来看,这是不对的 - 我的工作目录缺少 BC 的更改。

如何运行 git rebase 才能生成“预期”历史记录?

最佳答案

关于已恢复的精选提交的 Git rebase 可以将其设置为 "lose",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57991631/

相关文章:

git - 我们还需要使用远程命令来设置 github push ssh 访问吗?

git - 以编程方式使用 git rebase -i

git - 在 git 中 merge 两个冲突的分支时,如何明确提及要应用哪个分支更改?

git - 在重新定位许多提交时如何防止许多 git 冲突?

.net - 用户如何从浏览器使用 GIT

git - 我无法在 Git 中将父目录添加到 *safe.directory*

git - 使用 git log 后,如何转到 Git Bash 中的下一个命令?

git - 'git 差异' : Show only diff for files that exist in both commits

git - 重新定位远程功能/错误/主题(私有(private))分支

推送时 Git pull --rebase