0
点赞
收藏
分享

微信扫一扫

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

 

简介

分支就是版本上的更新送代,默认只有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)_git_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)_git_07

 

删除分支

创建并切换到v1.2分支

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

 

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

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

 

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

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

 

v1.2分支内容

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

 

删除本地分支

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

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

 

删除远程分支

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

 

远程v1.2分支没了

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

 

本地fetch需要的分支

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

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

git clone git@gitee.com:qzcsbj/pytest_apiautotest.git
或者:
git clone -b master git@gitee.com:qzcsbj/pytest_apiautotest.git

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

 

git fetch git@gitee.com:qzcsbj/pytest_apiautotest.git v1.1

或者:git fetch origin v1.1

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

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

 

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

清理数据

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

 

git clone -b v1.1 git@gitee.com:qzcsbj/pytest_apiautotest.git

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

 

git fetch git@gitee.com:qzcsbj/pytest_apiautotest.git master

或者:git fetch origin master

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

 

__EOF__




举报

相关推荐

0 条评论