git merge 后产生重复提交的原因
今天同事打算对散乱的分支进行合并,处理完成后,我 fetch 之后看了一下,发现 git 分支图上,产生了重复的提交,而且作者栏里面,我的名称后多了一个星号
这种情况之前也发生过,我有时候合并完也会出现这样的情形,这对功能并没有多大影响,但是让分支图显得不太好看。另外如果后续有回退代码的需求时,存在内容、作者都相同的两个提交,也需要我们对其进行甄别,到底回退到哪个才是正确的,因为它们虽然内容相同,但是它们的前后提交有可能是不同的
为什么会出现
经过一些排查,还是没搞清楚为什么会出现这种情况,比较接近的答案是:上游分支和本地分支有冲突,或者存在提交历史的不同,可能会出现将提交历史重新应用到上游分支的过程中,会将本地分支的每个提交都应用一次
出现如何处理
最好配合 git reflog 以及 git reset 进行重置,然后看看哪里出了问题,灵活运用 git rebase,不要一味 merge
如何避免下次出现
一般正常使用不会出现,需要再研究下出现条件再避免,平时使用时要注意下面几点:
- 不要直接将 develop 分支合并到 develop 的子分支上
- 要根据实际情况,利用好 git rebase
git merge 后产生重复提交的原因
https://enderhoshi.github.io/2025/07/09/git merge 后产生重复提交的原因/