git 常用命令之 git branch

本文介绍了Git分支的基本操作,包括新建、切换、删除分支,以及如何初始化仓库时指定默认分支为主分支main。Git的分支机制鼓励频繁的分支使用,如gitcheckout-b和gitswitch-b用于新建并切换分支。此外,文章还讨论了如何处理本地与远程分支的同步状态,以及删除分支的注意事项。
摘要由CSDN通过智能技术生成

大家好,我是 17。

新建 git 分支

分支是并行开发的基础。分支名称的本质是对分支最后一个提交的引用。分支有多个,但 HEAD 只有一个,可以认为 HEAD 是"current branch"(当下的分支)。当你用git switch切换分支的时候,HEAD 重新指向新的分支。

分支是 git 的杀手级应用。Git 处理分支的方式可谓是难以置信的轻量,git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。分支会涉及很多常用 git 命令,我们在这里一起讲。

分支的名称是一个引用,指向支持的最后一个提交节点。分支就是从父分支开始的第一个节点,到最后一个节点的所有 节点的集合。

当你新建仓库的时候,会默认建立 master 分支。

 git init test 
 git init

两种写法都可以。不同的是,git init test 会在当前目录下新建 test 文件夹,git init 会在当前目录初始化 git。

至于说建议用 main 而不是 master,其实就是名字,名字本无含意,在 git 中就是分支的名字而已,是看名字的人读出了所谓含意。如果在意名字,也是可以修改的。

git init -b main   用 -b 指定初始化的分支为 main 

也可以在全局指定,后面就不用 -b 指定了。

git config --global init.defaultBranch main

初始化完成后,新建其它的分支有三种方法。

git checkout -b dev
git switch -b dev
 
git branch dev

这三种方法都可以新建 dev 分支。不同的是前两种新建并转到新分支,最后一种只新建分支不跳转。

既然 git checkout -b devgit switch -b dev效果完全一样,为什么弄出两个来?开始都是用 git checkout -b,后来觉得用git checkout -b不够清晰,checkout被赋予了太多职责,所以增加了 switch 命令。

本地分支

列出,创建,或删除 branches。

git branch         列出
git branch dev     创建
git branch -d dev  删除

git branch -vv 

输出:
feature   3446d05 [origin/feature] feat:开发登录功能
* master  ad9da22 [origin/master: ahead 3, behind 2] Merge branch dev

* 代表 master 是当前分支。

origin/master 是远程分支,master 是 origin/master 的跟踪分支。

  • ahead 3: master 超前 origin/master 3 个提交
  • behind 2: master 落后 origin/master 2 个提交

你可能会迷惑,怎么又超前同时又落后呢? 其实并不矛盾。没有更新到远程的提交就是超前,没有同步到本地的提交就是落后。

删除远程分支

先删除远程分支

git branch -d origin feature

再删除本地跟踪的同名分支

git branch -d feature

注意:必须先切到其它分支,如果当前在 feature 分支,无法删除

如果 feature 没有合并到 master ,需要用 -D 强制删除

注意:建议不要删除远程分支,已经发布的分支如果删除了,可能会给别人造成影响。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IAM17前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值