一、 主要方式: rebase merge(推荐)
# 转到子分支(源分支) git checkout develop # 使用 rebase 合并 log。 -i 是交互式。 git rebase -i master # 转回主分支(目标分支) git checkout master # 合并 develop # 方式一:带一条 merge 记录 git merge --no-ff develop # 方式二:不带 merge 记录 git merge develop
二、 另一种方式:squash merge(不推荐)
# 转到主分支(目标分支) git checkout master # 合并 develop。 这里只是把代码拉过来,但并未提交。 git merge --squash develop # 再 commit 。 这时日志就能自己定了。 git commit
优缺点:
第一种方式 保留了原作者信息,同时也能合并历史 log ,值得推荐作为管理者的首要方式。
第二种方式 由于只是拉取了代码,提交是管理者再次提交,所以会丢失原作者信息。不推荐。 但是还是有可以应用的场景,如只是一个人开发,然后需要合并分支和 log 时,可以用这种简便方式。