赞
踩
目录
Git分支和标签的命名规范
1.分支
dev/test/pre/pro(即master)2.标签
Tag格式: 主版本号.次版本号.修订号-类型标签,其中类型标签可为:alpha、beta、rc、r。
Tag示例:1.0.0-alpha、1.0.0-beta、1.0.0-rc、1.0.0-r注1:有的公司在版本命名时,前面加v,“-”替换成“_”,更加详细一点还可以在修订号后面添加发布日期
v1.0.0.191220_r,这都是可以的3.分支与标签的关系
dev-->alpha
test-->beta
pre-->rc
pro-->r
假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,
不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。怎么办?
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,
而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作
四个环境分别是:dev、test、pre、pro(master),中文名字:开发环境、测试环境、灰度环境、生产环境
dev环境:开发环境,外部用户无法访问,开发人员使用,版本变动很大。
test环境:测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定
pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样。
pro(master)环境:生产环境,面向外部用户的环境,连接上互联网即可访问的正式环境。
在实际开发中,我们应该按照几个基本原则进行分支管理:
1.首先,pro分支(即master)应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;2.那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,
再把dev分支合并到master上,在master分支发布1.0版本3.修复bug时,我们会通过创建新的bug分支(即test)进行修复,然后合并,最后删除;
4.当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场
1.查看分支,此命令会列出所有分支,当前分支前面会标一个*号
git branch //查看本地分支
git branch -a //查看远程分支2.创建分支
git branch name //仅仅保存本地,远程还需要push
git push <远程仓库名> <远程分支名>
3.切换分支
git checkout name4.创建+切换分支
git checkout -b name5.合并某分支到当前分支
git merge name
注意:当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
使用用git log --graph命令可以看到分支合并图。6.删除分支(分本地和远程)
git branch //查看本地分支
git branch -d name //删除本地分支git branch -a //查看远程分支
git push origin --delete dev //删除远程分支7.重命名本地分支,并提交到远程
1.重命名
git branch -m oldBranchName newBranchName
2.删除远程分支
git push origin :oldBranchName
3.将重命名过的分支提交
git push origin newBranchName
学习时,先暂不考虑远程问题,本地搞懂了,再考虑远程问题
接下来我们进行一次
首先我们在自己的码云中先创建一个仓库,然后将他引入到本地中
再次查询
在分支下创建文件夹
文件内容
同样建一个Order.java文件
文件内容
生成成功
提交新增的代码
我们切换分支 所在的本地位置也会发生改变 所以就可以互不干扰
将本地的dev分支提交到远程去
原本是只有一个
推送成功 新增了一个分支
注意:当Git无法自动合并分支时,就必须首先解决冲突,冲突解决后,在提交,合并完成
新建并进入一个分支 test 用来合并
先将分支都推送到远程仓库 进入tag标签管理的展示
Git如何给branch打tag
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。
将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照1.查看所有标签
git tag
注1:标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息2.创建tag
1.首先,切换到需要打标签的分支上,例如:dev,再创建标签
git branch
git checkout dev
git tag 1.0.0-alpha2.推送标签到远程
git push origin 1.0.0-alpha
注1:因为创建的标签都只存储在本地,不会自动推送到远程,还需要手动推送3.git标签分为两种类型:轻量标签和附注标签,区别:附注标签带注解
git tag 1.0.0-alpha //创建轻量标签
git tag -a 1.0.0-alpha -m "一期开发完成" //创建附注标签一般推荐打带附注信息的标签,这样可以最大限度查看标签版本的修改情况
3.删除tag
1.删除本地tag
git tag -d 1.0.0-alpha
注1:因为创建的标签都只存储在本地,不会自动推送到远程。所以,标签可以在本地直接删除2.删除远程tag
1.如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除
git tag -d 1.0.0-alpha
2.然后,再从远程删除。删除命令也是push,但是格式如下:
git push origin :refs/tags/1.0.0-alpha
1.查看所有标签
2.创建tag
推送到远程
生成了一个标签
若此时测试人员发现bug,则需重行修改代码并提交新的版本号
此时则再次生成一个新标签
此时我们切入到master分支中
创建Goods.java文件
再将它与dev代码合并
打上标签并推送远程
生成了最后客户使用的版本
查看删除再查看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。