删除错误的rebase之后引入的重复提交

Kie*_*iee 9 git version-control rebase

我有两个分支,master&feature.Master偶尔会收到快速上线所需的小调整.完成这些调整后,master将重新调整feature以使功能保持最新.

在master上更改的文件通常与开发的大部分无关,feature但是我遇到了大量复杂的3路合并冲突.

在查看提交日志后feature,我发现问题有几个重复,我试图用交互式rebase解决它.

我的问题是:

这是问题的最佳解决方案,如果是这样,我可以删除重复项并基本上构建我希望它看起来的历史记录吗?我还会删除哪些重复项,更高版本(更旧版本)或更低版本(更新版本重复).

摘要列表取自git rebase master -i:

pick 0eb277c Commit A
pick ced2556 Commit B
pick 640e049 Commit C
pick b248ff7 Commit D
pick 9903094 Commit E
pick ebc279d Commit A
pick 313385b Commit F
pick 0d55178 Commit G
pick c8f09f9 Commit H
pick e877be3 Commit I
pick 9859aa0 Commit J
pick c3c8e0f Commit K
pick 8abc68c Commit L
pick 84a5c89 Commit A
pick 30570e4 Commit B
pick 937ff2f Commit C
pick 8e6d911 Commit D
pick 1dd3a09 Commit E
pick fe79288 Commit F
pick 9e790bb Commit G
pick 0924916 Commit H
pick 90d59d7 Commit I
pick ba06c55 Commit J
pick 7452fad Commit K  ** Dupes end here** and features then has 30+ more commits.
pick d1dca3d Commit M
pick 6c85f76 Commit N
pick ad53b78 Commit O
pick f166471 Commit P
Run Code Online (Sandbox Code Playgroud)

Kie*_*iee 10

要删除重复的提交,您必须浏览生成的列表,git rebase master -i并通过使用箭头键d在您想要的提交上按下向上和向下导航列表来删除重复项drop.

(master可以用commmit哈希或任何有效的重基点替换)

删除所有重复项并有一个提交列表,查看您希望历史记录的外观时,按下esc并键入!wq并按下即可退出rebase屏幕enter.

然后重新基础将继续并将您提交的提交列表应用pick到您的重新基点.