热门标签 | 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常用操作(下)
    本文由云+社区发表作者:工程师小熊摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码、使用分支、出现代码冲突的解决办法、紧急保存现场和恢复 ... [详细]
  • Git支持通过自定义钩子来扩展其功能,这些钩子根据触发条件的不同,可以分为客户端和服务器端两种类型。客户端钩子通常与本地操作相关联,如提交代码或合并分支;而服务器端钩子则与远程仓库的交互有关。 ... [详细]
  • 本文总结了多个常用的 Git 命令,包括分支管理、代码提交、远程仓库同步等,旨在帮助开发者高效利用 Git 进行版本控制。 ... [详细]
  • Git SSH配置及远程仓库操作指南
    本文介绍了如何配置Git环境,包括设置用户信息、生成和添加SSH密钥,并详细说明了如何通过SSH连接到远程仓库进行版本控制操作。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细介绍了在使用 GitHub 进行代码推送时遇到 'failed to push some refs' 错误的解决方案,包括具体原因分析和操作步骤。 ... [详细]
  • 本文探讨了如何使用Go语言从传统的INI配置文件中提取所需的信息。INI文件因其简单易用而在多种环境中广泛采用,如操作系统设置、游戏引擎配置以及版本控制系统等。 ... [详细]
  • 今天我在操作Git时遇到了一个问题,即我的仓库进入了分离的HEAD状态,这与之前讨论过的‘即使本地有更改,git push仍显示所有内容最新’的问题类似。 ... [详细]
  • 本文详细解析了在使用Git进行代码推送时常见的两个错误——'fetch first'和'non-fast-forward',并提供了有效的解决方案。通过理解这些错误背后的原因,开发者可以更加高效地管理代码版本。 ... [详细]
  • 深入理解Git与GitHub:分支管理与冲突解决
    本文详细探讨了Git中的分支管理技术,包括如何创建、切换和合并分支,以及如何有效解决分支合并时可能遇到的冲突。同时,文章还介绍了Git的基本原理,如哈希算法的应用和文件管理机制。 ... [详细]
  • VSCode与Gitee集成:项目提交的高效实践
    本文介绍如何利用VSCode内置的Git工具将项目提交到Gitee,简化Git命令的使用,提升代码管理效率。同时分享一些常见的踩坑经验和解决方案。 ... [详细]
  • 本题旨在通过给定的评级信息,利用拓扑排序和并查集算法来确定全球 Tetris 高手排行榜。题目要求判断是否可以根据提供的信息生成一个明确的排名表,或者是否存在冲突或信息不足的情况。 ... [详细]
  • 本文档介绍了在使用GitLab进行数据仓库项目开发时,如何管理和维护代码版本,包括非标准gitflow工作流下的分支结构及其权限设置,以及git commit message的规范。 ... [详细]
  • 假设您当前位于主分支(版本C4),但发现某些功能已损坏,而这些功能在之前的版本C1时还能正常工作。如何将从C1到C4的所有提交复制到一个新的特性分支中,同时将主分支回滚至C1,以便能够安全地进行版本控制和持续集成部署? ... [详细]
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社区 版权所有