ClassOps 2024-01-12 13:53 采纳率: 100%
浏览 5
已结题

Git 代码合并 用 merge 还是 rebase ?

rebase 可以把提交变成 一条线,看起来很不错。但是提交时,往往需要 push -f 强推。

另外对于 fix 分支,我一直使用的是 合并到 master,然后再 把 master 合并到 dev。

但是在 CSDN学习 Git 提到,也可以使用 cherry-pick 直接提交到 dev,实际有这样操作的吗?

  • 写回答

2条回答 默认 最新

  • 留待舞人归 2024-01-12 14:00
    关注

    实际日常项目中,这几个操作一般可以这样实践:
    1、rebase:
    a.可以用来实现从feature分支(即比如为某个版本功能特地拉的分支,开发完合并回master)时,利用SourceTree软件的交互式变基或者其他功能,将提交压缩为一个提交,以保持master提交历史的整洁性。
    b.对于拉出去的feature分支,希望合并master其他人的改动。
    2、cherry-pick:
    一般用作单个提交希望合并到多个分支的时候,在其中一个分支提交,然后其他分支cherry-pick。如版本开发到最后阶段,已经到发布期,测出来问题,临时修复的补丁,由于提交量少,又有多分支需要维护时,这个就很有用。
    3.merge:
    一般是用来合并整个分支的内容,但是会产生很多自动合并的内容,导致提交历史混乱。如果是多人合作,又有严格的版本排期,这个方式就看个人取舍了。

    其实这几个功能具体怎么用,可以视团队维护仓库的习惯来,能达成目标即可。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月20日
  • 已采纳回答 1月12日
  • 修改了问题 1月12日
  • 创建了问题 1月12日