欢迎来到我的CSDN主页!
我是Java方文山,一个在CSDN分享笔记的博主。
推荐给大家我的专栏《Git》。
点击这里,就可以查看我的主页啦!
Java方文山的个人主页
如果感觉还不错的话请给我点赞吧!
期待你的加入,一起学习,一起进步!
分支(Branches):
标签(Tags):
开发(Development):
测试(Testing):
演示(Staging):
生产(Production):
在标签后缀中标明状态有以下几个好处
清晰的版本状态识别:通过在标签后缀中标明状态,可以清晰地识别出当前版本处于哪个阶段,包括开发、测试、预发布和生产等状态。这有助于团队成员和其他相关人员快速理解当前版本所处的位置,以及该版本适合在何种环境中使用。
方便的版本管理:带有状态后缀的标签能够方便地进行版本管理。开发团队可以根据不同状态的标签快速定位到相应阶段的版本,并且能够在不同环境中进行相应版本的部署和测试,从而提高版本管理的效率。
统一的命名规范:通过在标签后缀中标明状态,可以建立统一的命名规范,使得团队内部对于各个阶段版本的命名统一,降低了沟通成本和误解的可能性。
便于追溯历史记录:在项目历史记录中,带有状态后缀的标签可以帮助开发人员更容易地追溯到不同阶段的版本。这对于查找特定阶段的代码状态或者回溯历史版本是非常有帮助的。
支持并行开发和发布:通过标签后缀标明状态,不同状态的版本可以并行存在,并且能够清晰地区分开来。这有助于支持团队在不同阶段进行并行开发和发布,提高了团队的灵活性和效率。
查看分支
git branch //查看本地分支
git branch -a //查看远程分支
可以看到我们除了默认的master并无其他分支
创建分支git branch name //仅仅保存本地,远程还需要push
Git分支的命名规范dev/test/pre/pro(即master)
创建+切换分支git checkout -b name
合并某分支到当前分支 git merge name
我先在dev提交五个文件后再到test合并
分支提交远程git push origin name
删除分支(先删除本地才能删除远程,删除本地需要先切其他分支)
git branch -d name //删除本地分支
git push origin --delete dev //删除远程分支
右键git工程,进入git,选择Branches
选择要切换的分支
当前的分支是master,我新建一个dev2并切换
选中要切换的分支,checkout确定
当前所处的就是dev2分支了
但是 “Remote Branches” 下依然只有一个 master 分支,表明在我们的远程仓库依然只有一个master 分支,因此我们还需要把在本地仓库新建的分支推送到远程仓库中,这样就可以在远程仓库中看到新建的分支了。
单击dev2 ,然后在左边单击 “Push” ,弹出推送对话框。单击 “Push” 推送到远程仓库,这样分支新建操作彻底完成,可以看到在"Remote Branches"分支下面出现了“dev2 ”,我们可以在该分支进行编码并进行拉取和推送操作。
如果删除分支之前,建议先切换到(Checkout)其他分支,例如,Checkout到master分支,当然这并不强制,只是为了方便删除分支而已
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。
查看所有标签git tag
标签不是按时间顺序列出,而是按字母排序的。可以用git show
创建tag
首先,切换到需要打标签的分支上,例如:test,再创建标签
Tag格式: 主版本号.次版本号.修订号-类型标签,其中类型标签可为:alpha、beta、rc、r。
Tag示例:1.0.0-alpha、1.0.0-beta、1.0.0-rc、1.0.0-r
推送标签到远程git push origin
删除tag
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除
git tag -d 1.0.0-alpha
然后,再从远程删除。删除命令也是push,但是格式如下:
git push origin :refs/tags/1.0.0-alpha
idea创建tag
可以右键项目,然后按照 Git -> Repository -> Tag... 创建tag。
或 顶部菜单栏 按照 VCS -> Git-> Tag... 创建tag。
推送远程分支
push的时候特别注意打勾即可
查看某个tag版本只需要切换版本即可
这时候IDEA就会切换代码了
对之前的代码提交版本打tag
以下是用代码来演示整个过程(还需大家仔细区分)
1.克隆远程库test1
git clone [email protected]:yanppp999/test1.git
2.依次创建dev/qas/pre分支(pro即master,已存在不用再创建),然后切换到dev分支
git branch dev
git branch test
git branch pre
#add(int a, int b){a+b+b} v1.0.0
#add(int a, int b, int c) v1.1.0
#add(int... arr) v1.2.0
3.创建并编辑Cal.java类,添加一个add(int a,int b)方法,三步曲:add->commit->push(*****)
git add Cal.java
git commit -m '项目一期完成'
git push origin dev
注1:在有分支情况下,push命令需要添加远程仓库名和分支名这两个参数
git push origin dev
注2:doc窗口切换到master,输入ls命令,Cal.java是找不到的,同理在github网站上,也要选择dev分支才能看到Cal.java文件
git branch master
ls
至此,项目一期工作完成,接下来进行测试阶段(会在dev-test两个分支间不断切换)
## 标签相关内容,在分支讲完之后,再重新添加进来
## 下面命令此步骤先跳过
## 创建并推送标签“dev-1.0.0”至远程
git checkout dev
git tag 1.0.0-alpha
git push origin 1.0.0-alpha
4.将dev合并到test,并提交
git checkout test
git merge dev
git push origin qas
5.测试结束之后,创建标签:qas-1.0.0
git tag qas-1.0.0
6.将qas合并到pre
git checkout pre
git merge qas
git tag pre-1.0.0
7.将pre合并到master
git checkout master
git merge pre
git tag prd-1.0.0
注1:实际生产中的APP或软件软件版本命名规范详解,详情可参考:资料/12,资料/13
v1.0.0.191202_be.d
v1.0.0.191210.t
v1.0.0.191221.rc
v1.0.0.191225.r
8. git clone指定branch或tag
1.取完整
git clone https://github.com/arvidn/libtorrent.git
2.使用指定branch
git checkout origin/dev
3.使用指定tag
git checkout 1.0.0-alpha
4.也可以在clone的时间指定tag或branch:
git clone -b RC_1_1 https://github.com/arvidn/libtorrent.git
git clone -b libtorrent-1_1_9 https://github.com/arvidn/libtorrent.git
到这里我的分享就结束了,欢迎到评论区探讨交流!!
如果觉得有用的话还请点个赞吧