码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Git系列】02_Git分支


    文章目录

    • 一、版本更新与穿梭
      • 1、修改文件
      • 2、查看文件内容
      • 3、版本穿梭
    • 二、Git分支
      • 1、分支定义
      • 2、分支的好处
      • 3、分支的操作
      • 4、查看分支
      • 5、创建分支
      • 6、切换分支
      • 7、合并分支
      • 8、合并冲突
    • 四、团队协作
      • 1、团队内协作
      • 2、跨团队协作

    一、版本更新与穿梭

    1、修改文件

    当修改好文件之后,再查看一下本地库状态:
    在这里插入图片描述
    并且由于modified那行是红色的,因此表示此文件还未被添加到暂存区。

    因此继续使用git add将此修改过的文件添加到暂存区

    在这里插入图片描述

    之后此文件就变绿色了。

    在这里插入图片描述

    下面的代码表示一个文件被修改过了,其中新增了两行。

     1 file changed, 2 insertions(+)
    
    • 1

    此时第二个版本也提交到本地库了。并且当前的指针指向的就是第二个版本。

    在这里插入图片描述

    2、查看文件内容

    cat 文件名
    
    • 1

    3、版本穿梭

    先使用reflog查看版本号,就是最前面的一串黄色的字符:

    在这里插入图片描述

    git reset --hard 版本号
    
    • 1

    此时指针就从第三个版本转到了第二个版本:

    在这里插入图片描述

    二、Git分支

    在这里插入图片描述

    1、分支定义

    在版本控制过程当中,同时推进多个任务,因此我们可以为每个任务创建单独的分支。使用分支,就意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单的理解成副本,一个分支就是一个单独的副本。(底层分支其实也是指针的引用)

    2、分支的好处

    • 同时并行推进多个功能开发,提高开发效率。

    • 各个分支在开发过程当中,如果某一个分支开发失败,不会对其他的分支有任何影响。失败的分支删除重新开始即可。

    3、分支的操作

    命令名称作用
    git branch 分支名创建分支
    git branch -v查看分支
    git checkout 分支名切换分支
    git merge 分支名把指定的分支合并到当前分支上

    4、查看分支

    git branch -v
    
    • 1

    此时只有一个master分支:

    在这里插入图片描述

    5、创建分支

    git branch 分支名
    
    • 1

    在这里插入图片描述

    6、切换分支

    git checkout 分支名
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    创建分支的本质就是多创建一个指针

    • HEAD如果指向master,那么我们现在就在master分支上
    • HEAD如果指向hot-fix,那么我们现在就在hot-fix分支上
    • 所以切换分支的本质就是移动HEAD指针

    7、合并分支

    git merge 分支名
    
    • 1

    在这里插入图片描述

    8、合并冲突

    冲突产生的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。git无法决定我们使用哪一个,此时必须人为决定新代码的内容。

    在这里插入图片描述

    1、修改文件
    2、添加到暂存区
    3、执行提交(注意:此时使用git commit命令时不能带文件名)

    四、团队协作

    1、团队内协作

    在这里插入图片描述

    2、跨团队协作

    在这里插入图片描述

  • 相关阅读:
    聊聊客户档案模型的设计与管理
    tiup cluster upgrade
    云贝餐饮连锁独立版 v2.7.9+公众号+小程序端+全插件(免授权前端线传)安装教程
    python将图片合并为视频
    MYSQL各种子查询操作总结
    【微信开发第三章】SpringBoot实现微信授权登录
    Linux生产者和消费者模型 条件变量 信号量
    树状数组的区间修改
    C++多线程学习
    2022 年金九银十必问的 1000 道 Java 面试题及答案整理
  • 原文地址:https://blog.csdn.net/wxfighting/article/details/125495058
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号