Idea Git push Rejected 报错信息 Merge 和 Rebase 的区别
一、问题描述
1、在使用Idea Git push 代码的时候,若出现本地和远程仓库版本不一致,会出现出现如下图所示的信息,那么这其中 Merge 和 Rebase 的区别呢?
二、关于Merge
1、点击Merge按钮后,会进入冲突合并页面 ;
2、在合并完代码后,进行 commit 操作, 然后可以直接 push 到远程仓库。
三、关于Rebase
1、点击Rebase按钮后,会进入冲突合并页面 ;
2、在合并完代码后,进行 commit 操作,点击 push操作,还会再一次进入 Push Rejected 页面
- 点击 Rebase 操作之后,可以自动 push 到远程仓库。
- 点击 Merge 操作之后,可以自动 push 到远程仓库。(好像没啥区别)
- 点击 Cancel 操作之后,可以选中分支,进行update 操作之后,再一次 push。
四、总结
1、Merge 操作: 合并完成后,可以直接push到远程仓库,相当于 Git pull 功能。
2、Rebase 操作:合并完成后,再次push到远程仓库的时候,还是会提示 “Push Rejected”,需要再次进行 Merge / Rebase 操作,或者取消,选中分支 update 下,才能push推送到远程仓库, 相当于 Git update 功能。
建议:遇到冲突时候直接使用 Merge功能 或者Cancel取消后,使用 Git pull 功能 !
以上为个人总结,不确定是否正确,若有错误,欢迎指出来,谢谢!