热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Git分支和版本(标签)

目录一、Git分支1.1四大环境(分支)1.1.1分支和标签的关系1.2分支的作用1.3演示分支1.3.1在Gitee中创建项目1.3.2克隆到本地1

目录

一、Git分支

        1.1 四大环境(分支)

                1.1.1 分支和标签的关系

        1.2 分支的作用

        1.3 演示分支

                1.3.1 在Gitee中创建项目

                1.3.2 克隆到本地

                1.3.3 建立分支

                1.3.4 切换分支

                1.3.5 git push origin 指定分支

                1.3.6 git checkout -b 指定分支

                1.3.7 git merge 指定分支

                1.3.8 git branch -d 指定分支

        1.4 总结指令

二、标签管理

        2.1 查看标签git tag

        2.2 创建标签git tag v1.0.0.20220117_alpha

        2.3 推送标签 git push origin 标签名

        2.4 删除标签 git tag -d 标签名




一、Git分支


1.1 四大环境(分支)

dev/test/pre/pro(即master)

开发环境、测试环境、灰度环境、生产环境




1.1.1 分支和标签的关系


dev = alpha

test = beta

pre = rc

pro = r



1.2 分支的作用


如果我们准备开发一个新功能,但是需要两周才能完成,第一周我们写了50%的代码,如果立刻提交,但由于代码还没写完,

不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又可能存在代码丢失的风险。


然而分支的出现就解决了这个问题:

我们创建了一个属于自己的分支,别人看不到,还继续在原来的分支上正常工作,

而我们在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作


1.3 演示分支


1.3.1 在Gitee中创建项目


1.3.2 克隆到本地


1.3.3 建立分支

我们其实可以看到,我们现在一直都有的一条分支,也是唯一的一条分支,那就是master;

不信我们用指令看看所有的分支:git branch

在前面我们也已经知道,在实际开发项目中,只拥有一条分支是非常不便的;所以我们就需要针对四大环境,也创建对应的分支来进行开发;

我们一般开发都是在开发环境中进行的,所以我们首先建立一个开发环境:dev


1.3.4 切换分支

创建分支后,我们还要学会如何切换分支,输入指令:

git checkout dev 

然后我们输入vi,编写一点代码;

然后Git三部曲进行提交:

这个时候我们切换分支,看看文件夹的不同之处:

输入 git checkout master

从这点就可以发现,不同分支进行的开发工作是互不干扰的,这也就是解决我们多人开发存在的问题的关键;


1.3.5 git push origin 指定分支

可能会有人疑问,那在仓库中,如何区分不同分支的代码?


其实不用担心,当我们提交了某个Gitee中不存在的分支代码时,它会自动帮我们建立一个分支并且存放我们提交的代码!


我们测试:

原本只有一个分支的Gitee

输入 git push origin 指定分支 提交dev环境的代码后:

并且不同的分支管理不同的内容

dev

master


1.3.6 git checkout -b 指定分支

输入这个指令则会创建一个分支并且切换到这个分支;

我们输入 git checkout -b test


1.3.7 git merge 指定分支

当我们开发完成后,就应该将项目合并到生产环境进行测试,再进行发布;

这时我们就需要用到合并指令:git merge test

在要合并到的分支执行:

这个时候我们的主分支就有了我们前面建立的两个文件:

最后再看看我们的删除分支的指令:


1.3.8 git branch -d 指定分支

我们删除测试环境分支:

输入 git branch -d test


1.4 总结指令

最后,我们总结一下所有用到的一些关于Git分支的指令;


git branch 查看分支

git branch dev 创建分支

git checkout dev 切换分支

git push origin test 将当前分支推送到远程的test分支

git checkout -b pre 创建并且切换分支

git branch -d test 删除分支

git merge test 将分支内容合并





二、标签管理


2.1 查看标签git tag


2.2 创建标签git tag v1.0.0.20220117_alpha

创建一个标签:

推送标签到远程

然后这个时候,开发人员又对项目进行修改,修复了一个Bug

然后Git三部曲进行提交:

然后我们打上它的标签版本:git tag v1.0.1.20220209_beta

再推送到Gitee上面:git push origin v1.0.1.20220209_beta

等我们全部开发好了后,把项目合并到主分支中:

然后发布正式版本:git tag v1.0.1.20220209.r


2.3 推送标签 git push origin 标签名

每一次我们发布的版本都会保存,都是有迹可循的;


2.4 删除标签 git tag -d 标签名

输入指令 git tag -d v1.0.0.20220117_alpha


推荐阅读
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • Git GitHub多人协作
    在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出一.前期准备: ... [详细]
  • 双十一在家学用 Git
    对于所有的开发者来说,掌握一门代码版本控制系统都是必须的,无论是自己做项目,团队合作,工作中的合作,都离不开版 ... [详细]
  • 如何在vscode中使用GitLab我同广大码友们一样,好不容易赶上了个节假日,回到家一顿安排,可屁股还没坐热就接到线上紧急BUG需要修复 ... [详细]
  • 记一次git的版本回退
    背景本地有个项目已经修改了很久(是自己的小项目不是公司的),文件挺多的,还有大量的log文件。一些资源文件是中文名,工作区修改后使用了命令gitadd.本来在.gitignore文 ... [详细]
  • 本文介绍了在git中如何对指定的commit id打标签,并解决了忘记打标签的问题。通过查找历史提交的commit id,可以在任意时间点打上标签。同时,还介绍了git中的一些常用命令和操作。 ... [详细]
  • 前言本篇为大家总结社区多人合作常见的场景和对应的git操作命令。本篇非新手教程,阅读本篇前需具备Git基础知识。Git入门教程请参考https://www ... [详细]
  • git向远程仓库提交遇到的各种坑
    **码云***gitinit初始化本地仓库gitinit*gitremoteaddorigingitgithub.com:xueqinngchennLocal-agent.git将 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 第一种方法gitarchive-oupdate.zip$(gitdiffnew-versionold-version--name-only)此方法如果文件有删除,则 ... [详细]
  • [由零开始]2020年最新 如何在Idea中编译构建Springframework5.1.x 的源码
    构建Spring-framework-5.1.x的源码第一步:首先前往世界上最大的同性交友网站gayHab上去下载spring源码:下载地址ÿ ... [详细]
  • 补丁是一个文本文件,其内容类似于gitdiff,但与代码一样,它也有关于提交的元数据;例如提交ID,日期,提交消息等。我们可以从提交创建一个补丁,而其他人可以将它们 ... [详细]
  • 1、获取远程供应商的repo镜像repoinit--mirror-ussh:$username$host_name:29418manifests-bxx_branch--repo ... [详细]
author-avatar
AK7000
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有