Git多个合并分支-如何在合并到主分支时避免多次提交

问题描述

我的 Git 存储库如下所示:

我创建了 2 个分支 - Branch_1 和 Branch_2。现在终于准备好将这个 Branch_2 合并到 Master 分支中。但是当我合并时,它显示了 Branch_1 和 Branch_2 的所有提交,因为它们之间存在多次合并。在将我的代码合并到 master 分支之前,有人可以建议如何在这种情况下进行一次提交吗?

git log --oneline --graph --color --all --decorate

* 36dbb26 (origin/Branch_2) changed abc
* 1a7bf25 changed T
* 110095a changed Z
*   1087d5d Merge remote-tracking branch 'origin/Branch_1' into Branch_2
|\
| * 8c9d02a (origin/Branch_1) sleep added between each processing to discover partitions
| * ca401cb changed S
| * 20a4edd changed R
* 3f472ef install package
*   1087d5d Merge remote-tracking branch 'origin/Branch_1' into Branch_2
|\
| * 8c9d02a (origin/Branch_1) adding y
| * ca401cb changed g 
| * 97c326d changed f 
* | fd543bf changed c
* | 7b24330 (HEAD -> master,origin/master,origin/HEAD) fix D
* | 53aecb4 adding x
|/
* 49d3bda changed e
| * 213ea18 (origin/Feature_branch) changed d
| * 0b3b675 changed c
|/
* df6ac90 Adding c 
* 96699ff Adding b 
* 99f165f Adding a 

我希望最终结果如下:(来自 fd543bf 的所有提交都合并为 1 个提交)

 * 36dbb26 (HEAD -> master,origin/Branch_2) changed R-All consolidated
 * 7b24330 (origin/master) Fix D

解决方法

在一次提交中压缩所有内容:调用 git reset --soft 后跟 git commit :

# from Branch_2 :
git reset --soft master
git commit