Git多分支开发上线合并问题
2017-08-10 17:15
309 查看
一、项目背景:
项目AB分支同时进行开发时,A分支开发过程中有其他分支B上线,并且B分支上线版本已同步(merge)到master,则须合并已上线版本到正在开发的分支A上,避免A分支上线时覆盖B分支的代码,导致功能倒退。
二、命令行合并步骤:
方案一:
1.克隆配置库到本地:
git clone 【git url】 【本地路径】
2.切换到开发分支A:
git checkout 【开发分支】
3.合并master到开发分支(因为B已经同步到master,于是将master合并到A,保证A上涵盖B以上线的最新代码):
git merge --no-ff master
4.将合并后代码推送到远程库:
git push origin 【开发分支】
以上步即已经完成B分支上线后,将代码同步到master,再将master代码合并给A的操作。根据公司要求,还需要打tag标识。
5.打合并后标签,合并标签命名规则:tag/Tag_git库名_模块名称_三位版本名称_merge_四位版本名称
例如:tag/Tag_pmo_testgit-dwf_6-0-11_merge_6-0-9-2
git tag -a 【mergetagname】 -m 'create merge tag ,name is 【mergetagname】'
6..将标签推送到远程库:
git push origin 【mergetagname】
7.手工合并完成
方案二:
同事介绍了一个类似于svn client的git工具,可通过UI页面完成以上操作。
1、比较差异
2、解决冲突-对比本地和远端代码,选择两边有效代码分别复制到有效区域,点击“解决冲突”即可。
3、提交分支A代码
三、分支合并
背景:AB分支分别开发两个系统功能,结果将应写到B分支的代码,写到了A分支上。
解决方案:
1、照常将A分支上代码提交,并push到远端。
2、切换到B分支,执行merge操作,将A分支中,开发的代码合并到B上,B提交测试即可。
git
checkout B
git
merge A
ps:后期附送工具下载链接
最后再附送一个万能git提交忽略.setting等文件的配置。拷贝替换本地gitignore文件即可。
项目AB分支同时进行开发时,A分支开发过程中有其他分支B上线,并且B分支上线版本已同步(merge)到master,则须合并已上线版本到正在开发的分支A上,避免A分支上线时覆盖B分支的代码,导致功能倒退。
二、命令行合并步骤:
方案一:
1.克隆配置库到本地:
git clone 【git url】 【本地路径】
2.切换到开发分支A:
git checkout 【开发分支】
3.合并master到开发分支(因为B已经同步到master,于是将master合并到A,保证A上涵盖B以上线的最新代码):
git merge --no-ff master
4.将合并后代码推送到远程库:
git push origin 【开发分支】
以上步即已经完成B分支上线后,将代码同步到master,再将master代码合并给A的操作。根据公司要求,还需要打tag标识。
5.打合并后标签,合并标签命名规则:tag/Tag_git库名_模块名称_三位版本名称_merge_四位版本名称
例如:tag/Tag_pmo_testgit-dwf_6-0-11_merge_6-0-9-2
git tag -a 【mergetagname】 -m 'create merge tag ,name is 【mergetagname】'
6..将标签推送到远程库:
git push origin 【mergetagname】
7.手工合并完成
方案二:
同事介绍了一个类似于svn client的git工具,可通过UI页面完成以上操作。
1、比较差异
2、解决冲突-对比本地和远端代码,选择两边有效代码分别复制到有效区域,点击“解决冲突”即可。
3、提交分支A代码
三、分支合并
背景:AB分支分别开发两个系统功能,结果将应写到B分支的代码,写到了A分支上。
解决方案:
1、照常将A分支上代码提交,并push到远端。
2、切换到B分支,执行merge操作,将A分支中,开发的代码合并到B上,B提交测试即可。
git
checkout B
git
merge A
ps:后期附送工具下载链接
最后再附送一个万能git提交忽略.setting等文件的配置。拷贝替换本地gitignore文件即可。
# maven ignore target/ # eclipse ignore .settings/ .project .classpath # idea ignore .idea/ *.ipr *.iml *.iws # temp ignore *.log *.cache *.diff *.patch *.tmp # system ignore .DS_Store Thumbs.db # package ignore (optional) # *.jar # *.war # *.zip # *.tar # *.tar.gz /log
相关文章推荐
- git 创建分支单独开发一个新功能,然后合并到dev上的三种方式
- iOS【git分支开发,分支(feature)同步主干(master)代码,以及最终分支合并到主干的操作流程】
- Git 分支 - 分支的新建与合并 分支的新建与合并 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤: 开发某个网站。 为实现某个新的需求,创
- 使用git fetch和git rebase处理多人开发同一分支的问题
- git将开发分支与主分支合并
- Git 问题,一个 master,多个新功能分支,怎样有序地合并和提交
- Git 解决合并到远程分支冲突问题
- git 开发规范1--在工作分支上开发代码然后合并到主分支
- Git合并开发代码分支到测试代码分支
- Git开发时多分支防止多次提交版本线,使用cherry-pick、合并commit实现多次修改关联iusses
- Git入门——分支的基本使用与'合并'、'多人协作'常遇到的问题
- Git 问题, 一个 master, 多个新功能分支, 怎样有序地合并和提交?
- git分支开发,分支(feature)同步主干(master)代码,以及最终分支合并到主干的操作流程
- git 版本退回 分支切换与合并
- git 将主分支的提交合并到分支上(主分支同步到分支)
- 如何撤销Git的一次分支合并操作
- 开发:随笔记录之 判断list和map相等,并合并等问题
- Git工作区储藏兼谈分支管理中的一个小问题
- Git历险记(五)——Git里的分支&合并
- eclipse svn 创建分支与合并,出现的问题