前言
做为一个开发人员,对于代码管理工具大家肯定不会陌生,我们国内常用的代码管理工具有gitlub、gitee、coding等等,至于github属于国际性的,网站有些卡,但是资源丰富。我们公司项目目前使用的是自己服务器搭建的gitlub(毕竟源码放在别人的服务器上还是不放心的),但是我本人自己练手的项目代码一般存放在gitee上。虽然工具不同,但都是使用git进行操作,因此用起来其实也大同小异。
尤其git的分支操作在稍微大点的项目中肯定是会遇到的,一般至少都会有2个分支,一个dev测试分支,一个master主分支,dev分支用于开发,而master分支一般用于项目发布等等,至于主分支合并一般也只有管理员才有权限的,但是分支操作及合并我们作为开发人员也是必须要熟悉和了解的。
一、IDEA上传新的项目到Gitee
1.本地创建新项目
准备好即将上传到Gitee的项目,如下图:
2.Gitee上创建对应项目仓库
Gitee上找到新建仓库,并填写好对应信息内容:
提示:一定不要初始化仓库
3.将项目上传到对应仓库
提示:此操作一般用于新建项目时期
第二步把仓库创建好后,如下图所示,复制对应的仓库地址:
然后在IDEA中创建本地仓库(可自行指定位置,推荐本地仓库创建在源码目录下),如下图所示:
选择Create Git Repository弹出如下界面:
创建成功后,文件夹中会多出一个.git的隐藏文件夹,说明创建成功了,并且项目中的文件会变成红色,红色说明还未添加到本地仓库
然后我们将项目代码提交到本地仓库(鼠标放到项目名称上右键,选择git—>Commit Directory),填写
提交消息,然后点击commit
提交成功后,推送本地仓库代码到远程仓库中,第一次推送时,需要配置远程仓库地址以及账号和密码:
鼠标放到项目名称上右键,选择git—>push,出现如下界面:
点击Define remote配置远程仓库信息,配置好后直接push即可推送到远程仓库
此时到gitee网站刷新即可看到我们将项目成功上传成功了:
二、IDEA中操作子分支dev
提示:我们开发人员一般都是在dev分支上进行开发,因此此操作一般是项目老大去创建新分支,但有时侯也可能是我们自己创建新分支
1.根据主分支master创建子分支dev
我们成功将项目上传后,IDEA右小角可以看到是master分支,点击master分支,进行创建子分支dev:
输入子分支名称dev,此时可以看到右下角由master变为dev,说明我们本地的仓库中已经创建好了dev分支,接下来我们就可以把创建的子分支dev上传到远程仓库中去了。
2.上传子分支dev到远程仓库
如上图所示,点击push,即可将子分支推送到远程仓库
3.子分支dev代码修改并上传
随便更改个文件,然后上传到远程仓库中
4.主分支master与子分支dev合并(需要合并分支权限)
注意:合并分支顺序不可以搞错了哟,若将dev合并到master则需要先切换到master分支,然后合并dev分支,若是dev想更新master的代码则在dev分支进行合并master的代码
首先将dev切回到master分支:
然后如下所示,进行dev分支的合并:
文件会自动进行合并,如果有冲突的话,需要我们手动解决冲突:
冲突解决完成后,我们直接Push就可将分支合并结果提交到远程仓库中了。
小结
以上介绍了如何利用IDEA将新项目上传到gitee上,并介绍了如何利用IDEA创建子分支,以及子分支和主分支的合并等,子分支的创建其实也可以到项目的仓库地址中去进行创建,然后IDEA中刷新分支并检出即可,效果和通过IDEA创建其实时一样的。
目前项目中我就遇到一个问题,我们在dev分支上进行正常的开发(由于我们项目开发环境和测试环境发版本都是通过dev分支进行发布,只有生产环境才通过master分支发版本,因此我们老大要求我们凡是未写完的代码或者未自测通过的代码不允许提交到dev分支),但是突然测试那边反馈回来有个紧急的bug需要修复,并且需要修复的地方和我新开发的功能代码是有冲突的,此时如何保证代码的版本问题呢?
方法一:
此方法也是我用的方法,开辟2个IDEA的项目空间,一个专门用于处理和修复以前的bug,另一个则用于开发新的功能。
优点:不用单独开辟新分支,不用来回切换合并分支,且便于对比和修改
缺点:未开发完成的代码一直存在本地硬盘,若功能复杂或者时间太长,代码容易丢失(电脑出现问题)
方法二:
此方法我没有使用过,开发新功能时自己在dev分支的基础上再开辟一个自己的分支,然后在该分支上开发新的功能,以往bug的修复呢则直接在dev上进行修复。
优点:新功能的所有代码都可以提交到子分支上,并且不影响dev分支,不用担心代码丢失
缺点:需要创建新分支,以及分支的来回切换和分支的合并等,容易出错