当前位置: 首页 > news >正文

河南宝盈建设工程有限公司网站房地产建设网站

河南宝盈建设工程有限公司网站,房地产建设网站,网站开发多少人,少儿编程线下培训机构排名前十rebase介绍 一、背景 远程仓库有oh4w-dev和oh4k-dev两个分支#xff0c;oh4k-dev是基于oh4w-dev开发到80%的代码新拉的分支#xff1b;此后两条分支同步开发#xff0c;当oh4k-dev开发完成#xff0c;oh4w-dev还在开发阶段#xff0c;oh4k-dev需要拉取到oh4w-dev自分出o…rebase介绍 一、背景 远程仓库有oh4w-dev和oh4k-dev两个分支oh4k-dev是基于oh4w-dev开发到80%的代码新拉的分支此后两条分支同步开发当oh4k-dev开发完成oh4w-dev还在开发阶段oh4k-dev需要拉取到oh4w-dev自分出oh4k-dev后的最新提交。 二、git pull VS git rebase 有两种方法git pull和git rebase。 git pull git pull其实是git fetch和git merge的组合 当执行git pull时相当于执行了git fetch从远程仓库拉取最新代码、git merge将拉取的最新代码和本地代码合并 使用git pull虽然在存在冲突时会多出无意义的一条提交记录“Merge…to…”但能清楚地知道当前分支上谁合了代码以及合代码的时间先后顺序 git rebase git rebase则是将当前分支的提交历史建立在指定分支上的和当前分支的公共祖先节点的最新提交上不论提交的时间先后顺序 三、选择git rebase的理由 目前的情况使用git rebase更加合适因为oh4w-dev仍然在开发过程中即使使用git pull合并一次代码下次oh4k-dev再次拉取oh4w-dev最新代码时上次合并过的冲突还需要重复处理而使用git rebase合并一次提交历史oh4w-dev和oh4k-dev的提交记录的公共祖先节点已经更新了无需再处理一遍上次处理过的冲突 四、使用git rebase遇到的问题 问题一 本地仓库中与远程分支oh4w-dev和oh4k-dev对应的分支分别是local-oh4w-dev和local-oh4k-dev 站在local-oh4k-dev分支使用git rebase local-oh4w-dev拉取local-oh4w-dev的最新提交历史很幸运没有冲突但在执行git push --force-with-lease进行强制提交时终端报错 分析了一下原因是因为这个项目在git push提交修改到Gerrit远程仓库时每次提交都需要携带Change-IdChange-Id是Gerrit等代码审查工具用来跟踪提交的唯一标识符如果Gerrit判断推送的变基后的提交历史中包含已经被合并到主分支或已经关闭的修改即存在相同的Change-Id则会导致提交被拒绝 还有一点推送的远程分支是Gerrit中的refs/for/branch这是一个特殊的引用命名空间用于接受代码审查的推送Gerrit不会像传统分支那样检查其状态而git push --force-with-lease的核心逻辑是检查远程分支的当前状态是否与本地引用的远程分支状态一致所以git push --force-with-lease对refs/for/oh4k-dev是无效的与普通的git push几乎相同 解决方法 如果Change-Id冲突可以重新生成新的Change-Id 如果是单个commit记录 1.使用git commit --amend修改提交记录 2.删除旧的Change-Id 3.esc退出编辑模式 4.输入:wq保存 5.Git会自动生成一个新的Change-Id 6.git push origin local-oh4k-dev:refs/for/oh4k-dev将本地的变更推送到远程 如果有多条提交记录需要修复可以使用交互式变基 1.使用git rebase -i HEAD~n选择最新的n条commit记录进入编辑模式 2.输入i开启编辑操作 3.将需要修改的提交记录的pick改为edit 4.esc退出编辑模式 5.输入:wq保存 6.在每一条提交记录处停留用处理单个提交记录的方式处理 7.每处理完一条执行git rebase --continue直到变基结束 8.git push origin local-oh4k-dev:refs/for/oh4k-dev将本地的变更推送到远程 问题二 变基结束将本地合并后的提交历史上传到远程意味着之前在local-oh4k-dev上提交过的修改需要重新提交一次可能会存在冲突 解决方法 1.使用git rebase -i HEAD~n启动交互式变基 2.修改第一条提交之外的状态为fixup自动合并修改但丢弃提交信息或squash自动合并修改且允许修改提交信息 3.如果产生冲突解决完冲突后git add .git rebase --continue继续变基 4.变基结束git commit --amend生成新的Change-Id 5.最后git push origin local-oh4k-dev:refs/for/oh4k-dev推送本地变更 问题三 本地的提交历史由于进行了rebase已经改变而git push不会覆盖远程仓库的提交历史只是新增了刚刚push上去的新的变更所以本地的提交历史和远程仓库还是不一致的可以通过git reset --soft origin/oh4k-dev将两者进行同步 思考 这样一条一条提交记录去删除记录较少的情况下还好处理一旦数据量过大很浪费时间看看可以不可以一键删除
http://www.pierceye.com/news/383436/

相关文章:

  • 企业内网网站制作自己的网站多少钱
  • 关于公司网站建设的申请wordpress站群功能
  • 外贸做企业什么网站珠海的网站建设
  • 做网站教程百度云外贸soho建站公司
  • 上海市网站建设网站增加导航栏
  • 电子政务网站模版网站制作排名优化
  • 大足网站建设wordpress本地很慢
  • 企业门户网站模板html上线同安区建设局网站
  • 有些人做网站不用钱的,对吗?手机网站建立教程
  • 自适应网站主要用什么做株洲网站设计公司
  • 漂亮大气的装潢室内设计网站模板 单页式html5网页模板包金山网页设计
  • 沈阳养老保险网站手机网站建设ppt
  • 网站培训视频宝安新闻
  • 上海外贸建站推广公司服务专业的网站建设公司
  • 网站上传不了wordpress女孩学电子商务专业好就业吗
  • 石家庄网站开发工程师招聘网蜘蛛互联网站建设
  • 企业网站营销策划衡水企业做网站费用
  • 邯郸网站建设渠道通化网站建设公司
  • 做vip电影网站黑龙江省中国建设银行网站首页
  • 长沙便宜网站建设在线印章生成器
  • 网站编辑的工作内容WordPress添加上传下载
  • 公司网站需求建设银行企业网站首页
  • 一般找素材都是做哪几个网站呢郑州seo外包阿亮
  • 广州个人网站建设公司jsp网站建设模板
  • 全国的网站建设网站建设肆金手指排名7
  • 做网站如何防止被抄袭17zwd一起做网站官网
  • 北京鲜花的网站建设做任务网站有哪些内容
  • 互联网营销网站建设印章在线生成
  • 厦门seo网站管理南宁广告网页设计人才招聘
  • 沂水住房与城乡建设局网站wordpress如何建立论坛