将分支代码合并到master和将master代码合并到dev_weixin_34355559的博客-程序员宝宝

技术标签: git  java  开发工具  

 

两种合并分支的方法:

都保证在合到的那个分支上面;A合并到B,即保证当前在B分支上。

 

 

A merge B是把A中的改动放到B分支上,B merge A是把B中的改动merge到A中,例如把master分支上的改动移到分支fb_xhf上,可以这样merge。

1.转到master分支上,然后更新master最新更新。

2.再转到fb_xhf上,然后在Local Branches中选择master分支,选择merge,这样就把本地的master merge到 本地仓库的fb_xhf上,然后再选择git push ,这样就把远程master merge到 fb_xhf上, 并会提示: Merged master to fb_xhf。

工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:

假设小组中有两个人,组长小张,组员小袁

场景一:小张创建项目并提交到远程Git仓库

场景二:小袁从远程Git仓库上获取项目源码

场景三:小袁修改了部分源码,提交到远程仓库

场景四:小张从远程仓库获取小袁的提交

场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发

场景六:小袁把分支提交到远程Git仓库

场景七:小张获取小袁提交的分支

场景八:小张把分支合并到主干

 

下面来看以上各场景在IDEA中对应的操作。

场景一:小张创建项目并提交到远程Git仓库

创建好项目,选择VCS - > Import into Version Control -> Create Git Repository

接下来指定本地仓库的位置,按个人习惯指定即可,例如这里选择了项目源代码同目录

点击OK后创建完成本地仓库,注意,这里仅仅是本地的。下面把项目源码添加到本地仓库。

下图是Git与提交有关的三个命令对应的操作,Add命令是把文件从IDE的工作目录添加到本地仓库的stage区,Commit命令把stage区的暂存文件提交到当前分支的仓库,并清空stage区。Push命令把本地仓库的提交同步到远程仓库。

IDEA中对操作做了一定的简化,Commit和Push可以在一步中完成。

具体操作,在项目上点击右键,选择Git菜单

因为是第一次提交,Push前需要指定远程仓库的地址。如下图,点击Define remote后,在弹出的窗口中输入远程仓库地址。

场景二:小袁从远程Git仓库上获取项目源码

即克隆项目,操作如下:

输入小张Push时填写的远程仓库地址

接下来按向导操作,即可把项目从远程仓库克隆到本地仓库和IDE工作区。

场景三:小袁修改了部分源码,提交到远程仓库

这个操作和首次提交的流程基本一致,分别是 Add -> Commit -> Push。请参考场景一

场景四:小张从远程仓库获取小袁的提交

获取更新有两个命令:Fetch和Pull,Fetch是从远程仓库下载文件到本地的origin/master,然后可以手动对比修改决定是否合并到本地的master库。Push则是直接下载并合并。如果各成员在工作中都执行修改前先更新的规范,则可以直接使用Pull方式以简化操作。

场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发

建分支也是一个常用的操作,例如临时修改bug、开发不确定是否加入的功能等,都可以创建一个分支,再等待合适的时机合并到主干。

创建流程如下:

选择New Branch并输入一个分支的名称

创建完成后注意IDEA的右下角,如下图,Git: wangpangzi_branch表示已经自动切换到wangpangzi_branch分支,当前工作在这个分支上。

点击后弹出一个小窗口,在Local Branches中有其他可用的本地分支选项,点击后选择Checkout即可切换当前工作的分支。

如下图,点击Checkout

注意,这里创建的分支仅仅在本地仓库,如果想让组长小张获取到这个分支,还需要提交到远程仓库。

场景六:小袁把分支提交到远程Git仓库

切换到新建的分支,使用Push功能

场景七:小张获取小袁提交的分支

使用Pull功能打开更新窗口,点击Remote栏后面的刷新按钮,会在Branches to merge栏中刷新出新的分支。这里并不想做合并,所以不要选中任何分支,直接点击Pull按钮完成操作。

更新后,再点击右下角,可以看到在Remote Branches区已经有了新的分支,点击后在弹出的子菜单中选择Checkout as new local branch,在本地仓库中创建该分支。完成后在Local Branches区也会出现该分支的选项,可以按上面的方法,点击后选择Checkout切换。

场景八:小张把分支合并到主干

新功能开发完成,体验很好,项目组决定把该功能合并到主干上。

切换到master分支,选择Merge Changes

选择要合并的分支,点击Merge完成

 

dev代码合并到test分支

先切换到dev分支,poll获取最新的代码。

再切换到test分支,poll获取最新的代码,如图选择Local Branches 下的 dev,点击 ,再选择merge即可。

即合到哪个代码就切换到哪个分支,(先把当前分支的代码pull下,然后切换到要合并的分支,然后再merge)

 

    

 

 

 

 

 

 

分支合并到主干

     

描述

有两个分支A、B,现在要将分支A的代码合并到分支B

idea的合并流程

1、确保分支A的代码已是最新的了,可以切换到分支A上git pull一下 
2、切分换到分支B上,点击idea上的git merge操作

看图说话

合并主干master最新代码到分支develop-report-1上 

将A合并到B,即保证当前分支是B,然后根据下图选择A,然后merge代码即可。
1、确认当前分支是develop-report-1 
这里写图片描述
2、点击右下角分支,按图操作merge即可 
这里写图片描述

 

转载于:https://www.cnblogs.com/fengli9998/p/9291302.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34355559/article/details/93596928

智能推荐

Python中关于判断列表list是否相等的问题_python 判断两个列表相等_我这一次的博客-程序员宝宝

Python中关于判断列表list是否相等的问题    本文主要记录在列表list的判断是否相等过程中遇到的问题,并对列表判断是否相等的相关知识进行汇总。目录Python中关于判断列表list是否相等的问题0.问题起源1.用==操作判断列表是否相等2.用is操作判断列表是否相等3.用operator.eq()操作判断列表是否相等4.小结0.问题起源    本文的原因是因为在判断列表list是否相等的过程中,关于==、is、operator.eq()三种方法存在疑惑,于是将这3种方法一并总结归纳如下。

[UE4C++程序]GameModule与Plugin_ue4 调试c++ plugins_大禾的博客-程序员宝宝

当专案建立的时候,引擎会自动产生一个同名的Game Module在Source资料夹底下。我们当然可以将所有撰写的C++类别全部放在这个Module中,可是当专案越来越大,若还是将所有的功能都放在同个Module下,不仅仅会造成管理上的混乱,而且编译时间也会增加。试着想像当我们随便改动一个h档或cpp档的参数就要编译几10分钟的情况?由于UE4在一个Module中的cpp数量到达32个的时候就...

mac下anaconda的安装及简单使用_pycharm,tensorflow和sklearn_Trouble_QinQinQin的博客-程序员宝宝

安装流程:1.下载适用的安装包网址:https://www.anaconda.com/download/#macos2.双击安装    1>回答简介,自述和许可证屏幕上的提示。    2>可以自己选择安装的位置3>点击安装3.安装成功,打开anaconde问题:在终端输入conda 无法识别这个命令。检查环境变量: sudo v...

2021湖南多校对抗赛第一场 补题_2021年湖南多校对抗赛第一场[克隆]_daydreamer23333的博客-程序员宝宝

比赛网址:https://vjudge.net/contest/428221#overview这场躺的很安详 演的很开心两个小时跟着队友混了六题最后开h题 读题一个半小时 wa一个半小时 时间就没了最后发现是字符串匹配的时候出现了问题 人都wa傻了待补:A,B,EH - Legacy Code Gym - 100753H题目意思每个文件由包名和方法名组成方法名是“PROGRAM”的文件可以自己启动并且开始调用他的下级文件给出每个文件能被哪些文件调用问最后有多少个文件没有被调用过题目思

黑马程序员------------JAVA笔记问答03_wsl_wangshenglong的博客-程序员宝宝

什么是正则表达式?答案:正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则达表示通常被用来检索、替换那些符合某个模式的文本。使用BigInteger类与BigDecimal类可以解决哪些问题?答案BigInteger支持任意精度的整数。 BigDecimal支持任意精度的定点数。 通过二者可以实现高精度的科学运算,避免数据不准确的问题。

Android设计模式------数据结构模式_浪里小黑狼的博客-程序员宝宝

"数据结构"模式使用场景常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用。这时候,将这些特定数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无关的访问,是一种行之有效的解决方案。典型模式●Composite(组合模式)●Iterator(迭代器)●Chain of Resposibility(责任链)...

随便推点

Linux离线更新软件,Ubuntu离线更新,安装新软件_晋成公的博客-程序员宝宝

该楼层疑似违规已被系统折叠隐藏此楼查看此楼因为今天看到某贴,误认为Linux只能联网更新,安装软件,所以整理一下以前的笔记,介绍一个有用的软件:apt-offline相信大家都知道apt-get需要在有网路的状况才有作用,但网路很慢,或者根本就没有网路的状况下怎麼办呢?因为我个人有某些特别需求,在测试一些软件,必须在无网路的环境下,所以我找到这个工具,来进行更新或安装新软件。先预设:无法连线或网...

PHPExcel处理导入导出图片,链接_dreamboycs的博客-程序员宝宝

标签:phpexcel   表格导入导出   PHPExcel是一个非常强大的PHP表格处理模块,提供一组PHP编程语言,它允许您编写和读取不同的电子表格文件格式,如Excel(纸)。 xls,Excel 2007(OfficeOpenXML)。 xlsx、CSV、自由/ OpenOffice Calc。ods, Gnumeric、PDF、HTML、… 这个项目是建立在微软的OpenXML标准...

linux 管道的几个练习_发狂的蜗牛的博客-程序员宝宝

1.什么是linux管道:一个命令的输出(标准输出)被直接“用管道输送”到另一个命令的输入(标准输入)中,从而构成了linux(unix)的管道(pipe)--------摘自Redhat linux用户基础。2.如何创建管道:为了用bash创建管道,用一个垂直的小节线 | 把这两个命令连接起来.3.进程组:连接在管道的所有进程被称为进程组.4.几个例子例1.用户r正在寻找/etc目录下最大的文件,他先编写了find命令,列出所有大小超过100k字节的文件,如下:find /etc -

MFC debug 调试信息的输出_ygd11的博客-程序员宝宝

怎么debug MFC中的printf类别的信息呢,看看吧http://www.chenj.in/2012/05/09/the-easiest-way-to-output-debug-info-with-console-in-mfc 顺便自己也记下:95次查看 分类:Learning标签:MFC   以VC6.0为例:  打开菜单“Project”-“Setti

hadoop学习_梦里仙的博客-程序员宝宝

1.Hadoop HDFS文件常用操作及注意事项 -http://www.tuicool.com/articles/jQFbQb2.巧妙设置yum软件库轻松解决软件包安装问题http://www.centoscn.com/CentosBug/softbug/2013/0730/789.html3.yum源配置rhel 5.5http://blog.163.com/ly_89/blog/static

NSZombieEnabled调试EXC_BAD_ACCESS的原理_tyson的博客-程序员宝宝

另外两个好的帖子:http://www.cnblogs.com/likwo/archive/2011/02/28/1967066.htmlhttp://www.cnblogs.com/jqyp/archive/2012/02/03/2337335.html更新Xcode 4设置NSZombieEnabled方法:按住Option点Run按钮,在出现的窗口中选择Arg

推荐文章

热门文章

相关标签