首页 > 其他分享 >Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)

时间:2024-01-22 12:32:02浏览次数:37  
标签:git 06 必知 fetch Git master branch 远程 分支

 

简介

分支就是版本上的更新送代,默认只有master主分支

可以从主分支上分离出其他的分支,各分支间互不干扰

每个项目,一般有多个分支,比如master(主干分支)、开发分支、测试分支、生产bug分支等等

线上环境,一个项目也可能会有多个稳定分支同时在线上运行

但是,分支越多,后期合并分支的成本越大,所以,不要随便创建不必要的分支。

 

命令汇总

 

命令

作用

备注

git branch

查看本地所有分支

默认只有master分支

分支前面有*号的表示该分支为当前所在分支

git branch -r

查看远程所有分支

-r等价--remote:远程

git branch -a

查看本地和远程所有分支

-a等价--all:所有

git branch 分支名

创建分支

分支名不要包含特殊符号,比如*,/,等等,要见名知意

另外,还可以创建并切换分支:git checkout -b 分支名

git checkout 分支名

切换分支

 

git branch -m 旧分支名 新分支名

修改本地分支名

-m等价--move:移动或重命名

先删除远程待修改分支,然后push本地新分支到远程服务器

修改远程分支名

 

git branch -d 分支名

删除本地分支,但是不能删除当前所在的分支,要切换到其它分支再删除;这是一个安全的操作,因为当分支中含有未合并的变更时,Git会阻止这一次删除操作,提示:error: The branch 'v1.2' is not fully merged

-d等价--delete:删除

git branch -D 分支名

强制删除指定分支,即便其中含有未合并的变更。该命令常见于当开发者希望永久删除某一开发过程中的所有commit

-D,delete branch (even if not merged)

git push origin --delete <branchname>

删除远程分支

-d等价--delete:删除

 

命令操作

查看分支

git branch

分支前面有*号的表示该分支为当前所在分支

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程分支

 

创建分支

在现有分支拉取一个新分支

这里从master主干拉取一个新分支,需要先切换到master分支,并且更新到最新,然后创建分支

此时可以关联远程仓库某个分支,或者push的时候指定分支,远程分支不存在会创建

git branch v1.1

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程仓库_02

 

切换分支

git checkout v1.1

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程仓库_03

 

更新分支并push到远程

远程没有1.1,会创建这个分支

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程分支_04

 

远程仓库多了v1.1分支

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程仓库_05

 

master分支内容

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程仓库_06

 

v1.1分支内容,多了刚刚push的文件

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程仓库_07

 

删除分支

创建并切换到v1.2分支

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_git_08

 

修改v1.2分支并push到远程

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程分支_09

 

远程仓库可以看到v1.2分支

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程仓库_10

 

v1.2分支内容

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程分支_11

 

删除本地分支

必须切换到其它分支才可以删除

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程仓库_12

 

删除远程分支

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程分支_13

 

远程v1.2分支没了

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程分支_14

 

本地fetch需要的分支

假设都是第一次操作,先clone任意一个分支,再fetch需要的分支

先克隆master,再fetch需要的分支

git clone [email protected]:qzcsbj/pytest_apiautotest.git
或者:
git clone -b master [email protected]:qzcsbj/pytest_apiautotest.git

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_git_15

 

git fetch [email protected]:qzcsbj/pytest_apiautotest.git v1.1

或者:git fetch origin v1.1

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程分支_16

要切换分支后,git branch才能看到刚刚fetch的分支 

 

先克隆非master,再fetch需要的分支

清理数据

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程分支_17

 

git clone -b v1.1 [email protected]:qzcsbj/pytest_apiautotest.git

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程仓库_18

 

git fetch [email protected]:qzcsbj/pytest_apiautotest.git master

或者:git fetch origin master

Git必知必会基础(06):分支创建、切换、更新、删除、拉取(fetch)_远程仓库_19

 

__EOF__


作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等



标签:git,06,必知,fetch,Git,master,branch,远程,分支
From: https://blog.51cto.com/qzcsbj/9364484

相关文章

  • Git必知必会基础(04):Git远程仓库操作
    什么是远程仓库?远程仓库是基于Git的代码托管平台,互联网上常用的Git仓库是github、gitee,除了这些远程仓库外,有的公司出于安全考虑,可能会自己搭建一套本地代码托管平台。使用者可以将本地版本库中的文件托管到远程服务器进行存储,这样可以供多个开发者协同开发、共享代码以及备份代码......
  • zookeeper源码(06)ZooKeeperServer及子类
    ZooKeeperServer实现了单机版zookeeper服务端功能,子类实现了更加丰富的分布式集群功能:ZooKeeperServer|--QuorumZooKeeperServer|--LeaderZooKeeperServer|--LearnerZooKeeperServer|--FollowerZooKeeperServer|--ObserverZooKeeperServer|-......
  • gitlab数据备份、恢复和迁移
    自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上。备份、迁移、恢复、升级过程如下一、gitlab备份备份前gitlab的项目如图所示 1.1修改仓库存储位置gitlab通过rpm包安装后,默认存储位置在/var/opt/gitlab/git-data......
  • 无法访问Github仓库的极简治标法
    技术背景由于IP原因,国内的IP访问Github仓库的时候会经常遇到一些困难,甚至存在无法Ping通的情况。尝试过FastGithub等方案,但还是会遇到各种各样的问题,导致情况越来越复杂。但是转念一想,其实我只是想使用仓库中的代码和功能,理论上说使用国内的镜像就够了,于是总结了一个最实用便......
  • 企业级GitLab在Docker部署使用
    一、部署gitlab这里使用的是Centos8,安装Docker环境,这里不说了,参考:https://www.cnblogs.com/wei325/p/15139701.htmlgitlab有ce版和ee版,ce版为免费版本;ee版为企业版本,需要收费;这里用ce版。1)拉取Gitlab镜像dockerpullgitlab/gitlab-ce  2)启动Docker先建3个目......
  • 使用git clone --recursive克隆,由于网络原因失败
    问题下载Github上某些代码仓库时,如果代码仓库中具有很多子模块,正常使用gitclone—-recursive下载方式,发现:下载缓慢并且子模块有极大概率不能完全下载。在此通过一个例子,来展示如何快速高效的下载代码库文件。该方法具有普适性。欲下载一代码库文件,原始下载方法为:gitclone......
  • 初中英语优秀范文100篇-065I Want to Be a Leader in Group Work-我想在小组工作中担
    PDF格式公众号回复关键字:SHCZFW065记忆树1Therearemanydifferentrolesingroupwork.翻译在集体工作中,有很多不同的角色。简化记忆集体句子结构therebe的基本句型为:therebe+人或物+地点。其中,there是一个引导词,没有具体实际词义,be是谓语动词,人或物才是这......
  • HarmonyOS4.0 系列——06、渲染之条件渲染、循环渲染以及懒加载渲染
    HarmonyOS4.0系列——06、渲染之条件渲染、循环渲染以及懒加载渲染if/else:条件渲染ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if、else和elseif渲染对应状态下的UI内容。写法和TS的一样,简单看一下即可@Entry@ComponentstructIfForEach{@State......
  • Go语言核心36讲 06 | 程序实体的那些事儿 (下)
    在上一篇文章,我们一直都在围绕着可重名变量,也就是不同代码块中的重名变量,进行了讨论。还记得吗?最后我强调,如果可重名变量的类型不同,那么就需要引起我们的特别关注了,它们之间可能会存在“屏蔽”的现象。必要时,我们需要严格地检查它们的类型,但是怎样检查呢?咱们现在就说。我今天......
  • Git必知必会基础(09):本地冲突(conflicts)解决--merge
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10854115.html准备数据 远程数据远程commitid 克隆到本地 创建dev_1分支 修改qzcsbj.txt内容,然后提交到本地仓库,最后推送到远程仓库 切换到master,创建dev_2分支 修改qzcsbj.txt内容,然后提......