理解rebase和代码合并操作流程
工具操作入口idea里合并代码选项提供了rebase和merge其中有一个rebase xx onto yy这个的意思是把xx分支进行rebase参照的分支是yy分支最新记录重新变更提交记录开始的开始点是公共的第一个祖先节点使变更记录变得简洁如下可以理解成把dev1分支的工作内容重新基于关键字ontomaster分支的最新成果master的变更内容会在dev1分支上重放并生成提交记录该过程只影响dev1分支的内容但不影响master分支内容在做了这个操作后还需要使用pushgit push --force-with-lease命令将变更的历史记录推送到远端dev1分支才会生效弊端困扰git rebase有一个个人觉得操作上很不友好的就是rebase 过程中同一个冲突点很可能反复出现多次这不是操作失误而是 rebase 的工作机制决定的。rebase 会把你分支上的每个提交逐个重放到目标分支上每重放一个提交都会独立做一次冲突判断。如果多个提交都改了同一文件的同一区域那么每个提交在重放时都可能触发冲突你就得反复解决同一处问题。比如你的分支有 3 个提交都改了 test.txt而目标分支也改了这个文件rebase 时就可能连续 3 次报同一个文件的冲突每次都要手动处理一遍。代码合并如果后续还需要把dev1上的内容合并到master上进行打包发布则还需切换到master分支将dev1的变更merge到master分支over~~
上一篇/下一篇内容由系统自动关联
返回资讯列表 →