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

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

时间:2024-01-17 22:12:11浏览次数:22  
标签:git 06 删除 必知 Git master branch 远程 分支

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/10854115.html 

简介

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

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

 

创建分支

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

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

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

git branch v1.1

 

切换分支

git checkout v1.1

 

更新分支并push到远程

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

 

远程仓库多了v1.1分支

 

master分支内容

 

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

 

删除分支

创建并切换到v1.2分支

 

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

 

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

 

v1.2分支内容

 

删除本地分支

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

 

删除远程分支

 

远程v1.2分支没了

 

本地fetch需要的分支

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

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

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

 

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

或者:git fetch origin v1.1

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

 

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

清理数据

 

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

 

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

或者:git fetch origin master

 

标签:git,06,删除,必知,Git,master,branch,远程,分支
From: https://www.cnblogs.com/uncleyong/p/17967429

相关文章

  • Git必知必会基础(02):Git安装、配置
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10854115.html安装Git只有Windows系统需要手动安装Git软件, Linux和MacOS系统都自带Git(如果linux下想自己安装,参考:https://www.cnblogs.com/uncleyong/p/10767747.html)官网下载:https://git-scm.com/downloads......
  • Git必知必会基础(03):Git本地仓库操作
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10854115.html常用命令汇总下面是本地仓库常用命令命令作用备注gitinit初始化本地Git仓库(项目)会在当前目录中创建—个.git目录,用于记录所有的版本变更信息gitstatus查看本地仓库......
  • github git push 失效问题
    以前推代码到github.com都比较正常,最近几天无论如何都不成功,一直超时,在互联网上搜索了大半天,终于才找到一篇文章解决问题。原文参考:https://bengsfort.github.io/articles/fixing-git-push-pull-timeout/。github文档参考:https://docs.github.com/en/authentication/troubleshooti......
  • GitLab CI/CD 自动化部署全流程
    GitLabCI/CD自动化部署全流程:https://blog.csdn.net/weixin_43025823/article/details/125325480?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-125325480-blog-131010258.235^v40^pc_relevant_3m_sort_dl_base2&spm=1001.......
  • 06.接口响应断言
    目录 接口断言使用场景响应结果对象响应结果断言接口断言使用场景 问题:如何确保请求可以发送成功。如何保证符合业务需求。解决方案:通过获取响应信息,验证接口请求是否成功,是否符合业务需求。Requests中的响应结果对象 importrequestsfro......
  • 安装git
    下载sudoaptinstallgit设置账号gitconfig--globaluser.name<用户名>gitconfig--globaluser.email<邮箱>配置SSH创建验证用的公钥,因为git是通过ssh的方式访问资源库的,所以需要在本地创建验证用的文件ssh-keygen-C<邮箱>-trsa一路回车完事进入.ssh文件......
  • `cargo build`报错:`failed to run custom build command for libgit2-sys v0.13.2+1.4
    cargobuild报错:failedtoruncustombuildcommandforlibgit2-sysv0.13.2+1.4.21问题背景在使用cargo编译cargo-cache时出现报错:Thefollowingwarningswereemittedduringcompilation:warning:[email protected]+1.4.2:Infileincludedfromlibgit2/src/pack.......
  • git 让一个分支进度追上main
    要让一个Git分支追上主分支(通常是`main`或`master`分支),你可以执行以下步骤:1.**确保你的本地主分支是最新的:**在你的主分支上运行以下命令,确保它是最新的状态:```bashgitcheckoutmaingitpulloriginmain```2.**切换到你的目标分支:**切换到你想要追赶主分......
  • 输入自己买的域名可以访问到自己github上的网页
    需求:在腾讯云上买了一个域名,现在想通过在浏览器中输入域名,能打开自己写的网页.步骤:1、在github上面新建一个仓库,必须公开的仓库,不能是私有的,把项目代码push进去。一定要仓库下面直接是文件,不要又包一层文件夹。这里我的页面内容在是a.html里面。 这里有个问题:我本来是想,直......
  • NodeJs——error:03000086:digital envelope routines::initialization error
    前言vue2前端项目在服务器上打包报错,发现是高版本的node使用的是OpenSSL3.0,导致的不兼容,所以先临时抛出下环境变量,继续使用老板本的OpenSSL的实现;步骤解决方法exportNODE_OPTIONS=--openssl-legacy-provider具体报错信息root@iZuf6f5trc95ufa25hqb6eZ:/www/wwwroot/ad-cl......