git merge和git rebase的区别
他们都是一种合并分支的手段/指令,大多数人日常都会选择使用git merge
- git merge是生成一个新的提交节点,这个提交节点上会包含目标分支和原分支的所有提交,会包含两个分支的提交历史, git rebase是将在最近公共父节点后本分支的提交全部转移到目标分支上作为最新提交
- git merge只需要解决一次冲突, git rebase可能每一个提交的转移都需要解决一次冲突git rebase的原理:
将最近公共父节点后的本分支上的提交都取消掉,并且将它们临时保存为补丁,然后将本分支更新为目标分支,最后将保存的这些补丁应用到本分支上