文章目录
git
merge 和reabse 的区别
git rebase 和 git merge 一样都是用于从一个分支获取并且合并到当前分支.
假设一个场景,就是我们开发的[feature/todo]分支要合并到 master 主分支,那么用 rebase 或者 merge 有什么不同呢?
merge 特点: 自动创建一个新的 commit 如果合并的时候遇到冲突, 仅需要修改后重新 commit
o 优点: 记录了真实的 commit 情况, 包括每个分支的详情
o 缺点: 因为每次 merge 会自动产生一个 merge commit, 所以在使用一些git 的 GUI tools, 特别是 commit 比较频繁时, 看到分支很杂乱。
rebase 特点: 会合并之前的 commit 历史
o 优点: 得到更简洁的项目历史, 去掉了 merge commit
o 缺点: 如果合并出现代码问题不容易定位, 因为 re-write 了 history