场景:
开源项目检出进行二次开发,发现人家代码升级有增强有漏洞修复,这时自己的开发分支已经尽力很多次代码提交,想进行合并升级如何处理呢
#拉取远程仓库进行关联 git remote add module_svn http://xxxx.git #查看仓库信息 git remote -v
E:\\-xxxx>git fetch module_svn master:module_svn
From http://xxx
* [new branch] master -> module_svn
#查看分支信息 git branch
dev_topology hjjy master * master_merge_svn module_svn
远程分支检出,合并代码
#检出远程仓库代码 >git fetch module_svn master:module_svn #切换分支 >git checkout module_svn #合并 >git merge master --allow-unrelated-histories
有空可以自己GitHub玩一下,借用
Merge是将公共分支最新版合并到自己的分支中,形成一个新的 commit 提交。
而Rebase则像公共分支又重新拉出来这个分支一样。
Merge(合并)是最常见的操作,Rebase(变基) 则用得很少。
但是项目中有种情况更适合用Rebase:自己开发分支一直在做,有多次commit(提交)。某天想把主线的修改合到自己的分支上,做一次集成,这种情况用Rebase就可以把commit都放在主线修改的头上。