git marge 和rebase有什么区别?
git marge 和rebase有什么区别?
题眼:一个是合并,一个是变基。rebase只在特殊情况下适用。
特性 git merge git rebase
合并方式 创建合并请求 线性合并
历史记录 保留完整的提交记录 也保留记录,但会破坏顺序
冲突解决 合并时解决冲突 在重新提交时解决
协作 需要频繁解决冲突 有利于私有分支的管理
适用场景 多人协作开发,保留所有提交记录 创建清晰的提交历史,便于溯源与发布
参考答案:
git merge是合并分支,rebase是分支变基,两个命令的作用不一样,使用场景也不一样。merge是把要合并的分支的最新提交组合成一个新的提交,再插入道目标分支中。比如,在A分支上执行merge B分支,那么会在A分支上产生一个新的提交记录,这个提交是合并AB的代码。rebase的话,是把当前分支的所有变化追加到目标分支的最后。通常情况下,多人开发时推荐使用merge,因为merge会保留所有提交记录,而且方便查询和回退。但是,merge也有一个缺点,如果多人开发的周期较长,有很多提交记录的话,最后合并的分支头上会顶着很多分支的提交记录,不太好看。rebase的话一般用的不多,主要是它会改变提交记录,我自己试过几次,容易出现代码冲突并且不好回退。
