如何使用 go-git 进行合并?

l3x*_*l3x 7 merge go-git

由于mergerebase目前尚未实现,那么使用go-git将另一个分支的更改合并到活动分支的推荐方法是什么?

例如,假设我们的 master 分支有两个提交(m1 和 m2)。

master    m1 -- m2 -- m3
                 |
feature         m2 -- f1  -- f2

combined  m1 -- m2 -- m3  -- ?    <= what command(s) to merge/squash ?
Run Code Online (Sandbox Code Playgroud)

当时,我们基于master分支创建了一个feature分支,其最后一次提交是m2。

我们实现了一个新功能 f1,此时它应该只存在于功能分支中。

与此同时,我们的主分支正在不断发展。另一位开发人员将提交 m3 推送到了 master 分支。

之后,我们继续开发我们的功能分支并在 commit f2 中提交这些更改。

我们如何将功能分支更改(f1,f2)合并回主分支(m3)?

(您将执行什么命令来执行合并操作?)