Git 分支简介-创建-合并-解决冲突-删除_git 创建分支(3)

一、什么是分支

1.在版本控制系统(如Git)中,分支(Branch)是代码库的不同线路或路径,用于同时进行不同的开发工作。分支可以将代码库的状态 ‘‘复制’’ 到一个独立的环境中,使得在这个分支上进行的更改不会影响到其他分支。

2.使用分支的好处是可以同时进行多个并行的开发任务,每个任务都在自己的分支上进行。这样可以有效地隔离不同的功能开发、修复bug或其他任务,而不会互相干扰。完成一个任务后,可以将该分支的更改合并回主分支(通常是"master"或"main"分支),从而将新功能或修复应用到代码库的主干中。

3.分支让开发团队能够更灵活地管理代码的开发和发布过程。它们可以同时处理多个功能或任务,并且在开发过程中可以频繁地创建、合并和删除分支,以适应不同的开发需求。

4.在分支内部,所有与该分支相关的更改都是相对独立的,因此可以在不影响其他分支的情况下进行实验、测试和修改。分支也有助于团队合作,因为不同的开发人员可以在各自的分支上独立工作,而不会相互干扰。

5.总之,分支是版本控制系统中的一个重要概念,它提供了并行开发、隔离工作和代码管理的机制,使得团队能够更加高效地协同工作和管理代码库。

  • 总结:分支就是基于主支创建出来的一个"副本"(不是简单复制),在分支上修改的内容不会直接影响主支,且各个分支的内容相互独立。在分支上更新调试好后在将分支与主支合并,完成更新。分支只存放修改和更新的内容,而与主支一样的内容会直接引用。
  • 内容补充:
    在 Git 中,创建分支并不是将代码库的完整副本复制一份,而只是创建了一个指向特定提交(commit)的指针。实际上,在创建分支时,Git 仅仅创建了一个新的指针,该指针指向当前所在分支的最后一个提交(commit)。这样,新分支就可以独立地进行新增、修改和删除文件操作,而不会影响其他分支。由于 Git 使用的是基于快照(snapshot)的版本控制系统,每次提交(commit)都会记录项目的状态,因此创建新的分支并不需要复制整个代码库的副本。分支间共享大部分历史提交(commits),只有新分支上的更改会产生新的提交记录。因此,通过创建分支,您实际上是在给定的提交(commit)上创建了一个新的指针。这使得在不同的分支之间进行切换、合并和处理独立的开发任务变得非常高效和灵活。

二、相关命令

  • 查看分支

    git branch

  • 创建分支

    git branch 分支名

  • 删除分支

    git branch -d 分支名

  • 切换分支

    git checkout 分支名称

  • 分支合并(可能会产生冲突,需要手动解决)

    git merge 合并分支的名称
    注意:切换分支在合并,会合并到自己所在分支

  • 查看远程分支

    git branch -r

  • 推送并创建远程分支

    git push origin 分支名字

  • 将远程分支的内容拉回本地

git pull origin 分支名字

  • 删除远程分支

    git push origin --delete 分支名字

三、简单实例演示

  • 只在本地仓库演示:

1. 新建一个文件夹,在该目录下打开git命名
使用 git init 初始化本地仓库 成功后会出现 .git文件 (如果没有点击 菜单栏上的 查看–勾选 隐藏 项目)
然后 新建一个文件,如果没有文件无法查看分支

初始化仓库

新建文件内容(方便与后面分支比较)
新建文件内容

2.将新建文件添加到缓冲区,然后提交
git add .
git commit -m “第一次提交,初始化仓库”

在这里插入图片描述

3.查看分支
git branch

可以看到当前只有一个分支 master

在这里插入图片描述

4.新建一个dev分支
git branch dev

然后查看分支
git branch

可以看到已经有dev 和 master 两个分支,当前在master分支
在这里插入图片描述

5.切换分支到dev
git checkout dev

查看当前分支
git branch

如图:已经切换到 dev 分支
在这里插入图片描述

6.查看文件目录,发现文件和以前一样,因为dev分支是基于master的
打开index.js文件也是一样

然后添加一些内容:console.log(‘我是dev分支新加的内容’);

在这里插入图片描述

7. 添加到缓存区,然后提交(一定要有这一步)
git add .
git commit -m “dev-新增内容”

在这里插入图片描述

8. 切换到master分支查看内容
git checkout master

查看当前分支(只是确认切换成功)
git branch

在这里插入图片描述

9. 打开文件,查看index.js的内容
内容和以前一样,说明在dev分支修改的内容没有影响到master

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

…(img-FLnlxGIO-1714405078763)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值