我想将commit b3应用于分支主服务器.当然,我可以再次合并分支feature成master,但历史将显得凌乱的两个合并提交(a6和a4现在只是无用的):

因此,我想知道的是,a4现在如何指出b3而不是b2?
我承认SHA1旨意是不同的,因此,提交都会被重新命名a4',并a5'
从主分支,您可以简单地重新建立新的基础,同时使用以下选项(或简而言之)b3保留合并:--preserve-merges-p
git rebase -p feature\nRun Code Online (Sandbox Code Playgroud)\n\n这样,当 Git 变基时,它不会尝试压平合并,而是在新的基础提交之上重新创建它。所以你的历史记录将如下所示:
\n\n master\n \xe2\x86\x93\na1 -- a2 -- a3 --------- a4\' -- a5\'\n \\ /\n \\ /\n b1 -- b2 -- b3\n \xe2\x86\x91\n feature\nRun Code Online (Sandbox Code Playgroud)\n\n与不使用该标志时的以下内容相比--preserve-merges:
master\n \xe2\x86\x93\na1 -- a2 a3\' -- a4\' -- a5\'\n \\ /\n \\ /\n b1 -- b2 -- b3\n \xe2\x86\x91\n feature\nRun Code Online (Sandbox Code Playgroud)\n