码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Git (2)—分支操作


    目录

    一、Git分支 

    1.1 什么是分支

    1.2 分支的好处

    1.3 分支的操作

    1.3.1 查看分支

    1.3.2 创建分支

    1.3.3 切换分支

     1.3.4 修改分支

     1.3.5 合并分支

    二、Git 团队协作机制

    2.1 团队内协作

    2.2 跨团队协作

    三、Github

    3.1 创建远程仓库

    3.2 远程仓库操作

    3.2.1 创建远程仓库别名

    3.2.2 推送本地分支到远程仓库

    3.2.3 拉取远程库分支到本地库

    3.2.4 克隆远程仓库到本地

    3.2.5 邀请加入团队

    3.3 SSH免密登录


    一、Git分支 

    1.1 什么是分支

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

    1.2 分支的好处

    • 同时并行推进多个功能开发,提高开发效率
    • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败 的分支删除重新开始即可

    1.3 分支的操作

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

    1.3.1 查看分支

    基本语法:git branch -v

    1.3.2 创建分支

    基本语法:git branch 分支名

    1.3.3 切换分支

    基本语法:git checkout 分支名

     1.3.4 修改分支

     1.3.5 合并分支

    基本语法:git merge 分支名

    ①正常合并不冲突

    ②合并产生冲突

    冲突产生的原因:

    • 合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改
    • 有两套完全不同的修改。 Git无法替我们决定使用哪一个。必须人为决定新代码内容

    例如,我们首先在 master 分支的倒数第二行进行修改,并将其添加到暂存区,再提交到本地库

     接着,我们去 hot-fix 分支的倒数第一行进行修改,并将其添加到暂存区,再提交到本地库

    之后我们在 master 分支上合并 hot-fix 分支,发现产生冲突 

     解决冲突

    1. 编辑有冲突的文件,删除特殊符号,决定要使用的内容

      特殊符号:<<<<<< HEAD 当前分支的代码 ====== 合并过来的代码 >>>>>> hot-fix

     删除完成之后保存,再次添加到暂存区,并再次提交到本地库(注意:此时使用 git commit 命令时候不能带文件名)

            master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD 决定的。所以创建分支的本质就是多创建一个指针。

            HEAD 如果指向 master,那么我们现在就在 master 分支上

            HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上

    二、Git 团队协作机制

    2.1 团队内协作

    举个例子:岳不群首先用 git 初始化自己的本地库,写了一套华山剑法,利用push 命令将自己的本地库推送到代码托管中心(Github、Gitee),大弟子令狐冲通过 clone 克隆命令完整的复制到自己的本地库,令狐冲修改两招之后将自己的本地库再次 push 到代码托管中心,这样岳不群就可以通过 pull 命令拉取令狐冲修改的代码来更新自己的本地库

    2.2 跨团队协作

    令狐冲请东方不败改代码,东方不败通过 fork 命令从岳不群的的远程库中拿取代码,再通过 clone 克隆命令到自己的本地库,修改完成后使用 push 推送到在自己的远程库,使用 Pull request 拉取请求给岳不群,岳不群审核完成后使用 merge 命令合并对方的代码到自己的远程库中,再通过 pull 命令到自己的本地库中,这样修改过后的华山剑法岳不群和令狐冲就都可以使用了
     

    三、Github

    3.1 创建远程仓库

    3.2 远程仓库操作

    命令名称作用
    git remote -v查看当前所有远程地址别名
    git remote add 别名 远程地址起别名
    git push 别名 分支推送本地分支上的内容克隆到本地
    git clone 远程地址将远程仓库的内容克隆到本地
    git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

    3.2.1 创建远程仓库别名

    基本语法:

    • git remote -v 查看当前所有远程地址别名
    • git remote add 别名 远程地址 起别名

     注意:起的别名最好和本地库的名称一致

    3.2.2 推送本地分支到远程仓库

    基本语法:git push 别名 分支

    3.2.3 拉取远程库分支到本地库

    基本语法:git pull 远程库别名 远程分支名

    3.2.4 克隆远程仓库到本地

    基本语法:git clone 远程地址

    3.2.5 邀请加入团队

    3.3 SSH免密登录

    可以看到远程仓库中还有一个 SSH 的地址,因此我们也可以使用 SSH 进行访问

     

  • 相关阅读:
    LeetCode 88. 合并两个有序数组
    基于C++/Java实现一个数的 N 次方根算法完整源码实现
    【异常错误】descriptors 的问题:module ‘scipy.stats‘ has no attribute ‘gibrat‘
    暑假加餐|有钱人和你想的不一样+多目标蝙蝠优化算法(Matlab代码实现)
    新机Word/PowerPoint新建空白文档后闪退问题
    Linux | 信号
    Rt-Thread 移植1--开发环境搭建(KF32)
    【元胞自动机】基于matlab元胞自动机考虑驾驶行为的自动—求解手动驾驶混合交通流问题【含Matlab源码 2060期】
    深夜测评:讯飞星火大模型vs FuncGPT (慧函数),到底哪家强?
    计算机毕业设计Java学生学习评价系统(源码+系统+mysql数据库+Lw文档)
  • 原文地址:https://blog.csdn.net/weixin_61843013/article/details/126211488
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号