【Git】(基础篇三)—— 分支操作
创始人
2025-01-09 13:06:30
0

Git分支操作

Git 相比于 SVN 最强大的一个地方就在于「分支」,Git 的分支操作简直不要太方便,而实际项目开发中团队合作最依赖的莫过于分支了,但是本篇会详细讲述什么是分支、分支的具体操作以及实际项目开发中到底是怎么依赖分支来进行团队合作的。

分支的常用操作

通常我们默认都会有一个主分支叫 main,下面我们先来看下关于分支的一些基本操作:

新建一个叫develop 的分支

git branch develop 

新建分支的命令是基于当前所在分支的基础上进行的,即以上是基于main分支新建了一个叫做 develop 的分支,此时 develop 分支跟 main 分支的内容完全一样。如果你有 A、B、C三个分支,三个分支是三位同学的,各分支内容不一样,如果你当前是在 B 分支,如果执行新建分支命令,则新建的分支内容跟 B 分支是一样的,同理如果当前所在是 C 分支,那就是基于 C 分支基础上新建的分支。

查看当前分支列表

git branch -l 

在这里插入图片描述

切换到develop分支(右边括号中的分支变化)

git checkout develop 

在这里插入图片描述

把新建和切换分支操作合并,在创建的同时切换分支

git checkout -b develop 

把develop分支推送到远程仓库

git push origin develop 

如果你的远程仓库中的这个分支不想叫develop,也可以进行修改

git push origin develop:develop2 

但是强烈不建议这样,这会导致很混乱,很难管理,所以建议本地分支跟远程分支名要保持一致。

查看本地分支列表

git branch 

查看远程分支列表

git branch -r 

删除本地分支

git branch -d develop git branch -D develop (强制删除) 

删除远程分支

git push origin :develop 

如果远程分支有个 develop ,而本地没有,你想把远程的 develop 分支迁到本地:

git checkout develop origin/develop 

同样的把远程分支迁到本地顺便切换到该分支:

git checkout -b develop origin/develop 

tag

我们在客户端开发的时候经常有版本的概念,比如v1.0、v1.1之类的,不同的版本肯定对应不同的代码,所以我一般要给我们的代码加上标签,这样假设v1.1版本出了一个新bug,但是又不晓得v1.0是不是有这个bug,有了标签就可以顺利切换到v1.0的代码,重新打个包测试了。

所以如果想要新建一个标签很简单,比如git tag v1.0 就代表我在当前代码状态下新建了一个v1.0的标签,输入 git tag 可以查看历史 tag 记录。

在这里插入图片描述

切换不同的tag也使用checkout命令,如git checkout v1.0

你可能会觉得tag和branch的功能有些类似,但它们其实差距很大,branch用于日常开发,每个开发者都可以拥有自己的分支,分支是动态操作的,但是tag通常被用来标记软件开发的正式版本,其是静态的,一旦常见就不会随着后续的提交而发生改变。

使用git开发

一般开发来说,大部分情况下都会拥有两个分支 main 和 develop,他们的职责分别是:

  • main:永远处在即将发布(production-ready)状态
  • develop:最新的开发状态

如果项目较大且人员较为复杂,就需要使用一些其它的分支

  • feature: 开发新功能的分支, 基于 develop, 完成后 merge 回 develop
  • release: 准备要发布版本的分支, 用来修复 bug,基于 develop,完成后 merge 回develop 和 master
  • hotfix: 修复 main上的问题, 等不及 release 版本就必须马上上线. 基于 main, 完成后merge 回 main 和 develop

相关内容

热门资讯

uniapp开发钉钉小程序流程 下载开发工具1、小程序开发工具登录钉钉开发平台,根据自己的需求下载合适的版本ÿ...
Meta的哈士奇架构能取代GP... 在没有大模型LLM的时代,实际上也不是NLP,只不过负责的任务会分成有多...
Photoshop 彩色转灰度:ctrl+shift+u背景转黑色:魔术棒容...
【实战:python-Djan... 一 Python发送邮件1.1 使用SMTP模块发送邮件 import smtplib from e...
Web前端-Web开发HTML... 一. 基础 1. 写一个列表标签,生成一个有三条记录的无序列表; 2. ...
【数据结构】顺序表 顺序表顺序表顺序表初始化顺序表的销毁顺序表的头/尾插顺序表的头/尾删顺序表插入数据顺序表查找数据顺序...
局域网共享文件的8种方式 在局域网内共享文件有多种方式,这些方式可以根据你的需求和设备来选择。以下是一些常见的局...
数据结构常用算法理论 递归算法        递归算法是一种通过函数自身调用自身来解决问题的算法。在递归算法中࿰...
数据结构第31节 线程安全的数... 线程安全的数据结构是在多线程环境中能够正确、无冲突地被多个线程访问和修改的数据结构。在非线程安全的数...
OpenStack介绍说明、O... 文章目录OpenStack介绍说明OpenStack起源认识openstack【重要】OpenSta...