IntelliJ IDEA点击更新项目弹出的两个选项有何区别?
IntelliJ IDEA更新项目两个选项的区别
这两个选项对应Git里**合并(Merge)和变基(Rebase)**两种核心操作,具体区别如下:
将传入变更合并到当前分支
执行这个操作时,IDEA会把远程分支的最新提交和你本地当前分支的提交做一次合并,生成一个新的合并提交,等价于在终端执行git merge origin/当前分支。
它会完整保留你本地所有提交的原始顺序,分支历史会出现“分叉再合并”的节点,不会修改已有的提交记录。适合团队协作时不想打乱提交历史,或者本地有多个未推送提交、希望保留这些提交完整性的场景。将当前分支在传入变更之上变基
这个操作会把你本地当前分支里所有未推送到远程的提交,临时“迁移”到远程分支最新提交的后面,等价于终端执行git rebase origin/当前分支。
它会让分支历史变成完全线性的,不会产生额外的合并提交,但会修改本地提交的历史(提交的哈希值会改变),看起来就像你从远程最新代码开始做的修改。适合个人开发分支,或者团队约定用变基来保持提交历史整洁的场景。


内容的提问来源于stack exchange,提问作者Buger
相关产品推荐
相关产品推荐

