• golang语言系列:Git


    云原生学习路线导航页(持续更新中)

    本文是 通用开发技能系列 文章,主要对编程通用技能Git进行学习

    1.为什么使用版本控制系统

    • 版本控制系统可以解决的问题
      • 代码备份很重要
      • 版本控制很重要
      • 协同工作很重要
      • 责任追溯很重要
    • 常见的版本控制系统
      • Git
      • SVN

    2.Git与SVN对比

    2.1.SVN

    2.1.1.SVN工作原理

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

    2.1.2.SVN弊端

    在这里插入图片描述
    如果服务器网络不好,有可能开发人员无法下载到最新的版本

    2.2.Git

    2.2.1.Git的产生

    在这里插入图片描述

    2.2.2.实现原理

    • 服务器上有一个远程仓库,各个开发人员的本地仓库也有各自的本地仓库。
    • 它们都存储着代码的各个版本

    在这里插入图片描述

    2.2.3.Git优点

    在这里插入图片描述
    如果服务器网络不好,开发人员还可以通过本地仓库获得代码版本

    3.Git的下载与安装

    4.Git的本地仓库基本工作流程

    • 在本地仓库中存在3个区
      • 工作目录(Working Tree)
      • 暂存区(Index)
      • 本地历史仓库(Repository)
    • 我们平时写代码时,会把代码写在工作目录,完成一个模块工作后,提交代码进行保存。
    • 注意:
      • 提交代码必须先把代码放到暂存区,然后才可以提交本地历史仓库。不可以直接交到本地历史仓库。
      • 我们可以通过checkout切换分支,将各个分支的代码拉取到工作目录进行使用。

    在这里插入图片描述

    5.Git的使用

    5.1.常用Git命令

    5.2.分支管理

    5.2.1.分支是什么

    • 分支就是由每次提交的代码,串成的一条时间线。
      在这里插入图片描述
    • 对分支的理解
      • 你学着学着,发现有一个功能需要尽快实现,但你又不想让该功能的开发影响了手里已经写好的代码。
      • 那么就可以开一个新的分支,让那个分支去开发新功能。
      • 等新功能开发好了,与手里的主线进行合并,就可以兼顾。
    • 分支的好处
      • 各个分支,并行工作,互不打扰
      • 多条分支可以合并。
    • 分支的应用场景
      在这里插入图片描述

    5.2.2.分支的工作流程

    • 总结起来,分支的工作就4种操作:
      • 创建新分支
      • 切换分支
      • 合并分支
      • 删除分支
    • 版本管理中存在两种指针:master指针、head指针

    5.2.3.分支的操作命令

    • 创建新的分支
      • git branch 新的分支名:该指令会创建一个新的分支指针
    • 切换分支
      • git checkout 分支名
    • 合并分支
      • git merge 分支名2:在分支1下输入这条命令,就代表将分支2合并到分支1上去。
      • 理论上是可以将主分支合并到旁分支上去的,但是不推荐。
    • 删除分支
      • git branch –d 分支名
    • 查看分支
      • git branch

    6.Git的远程仓库的工作流程

    6.1.远程仓库是什么

    • 远程仓库就是一个代码的托管平台,直白点说就是部署在公网上的一个网站

    6.2.远程仓库和本地仓库之间的工作流程

    在这里插入图片描述

    • 刚开始远程仓库、本地仓库里什么都没有。
    • 程序员a写了一份代码,通过add、commit命令提交到本地历史仓库后,使用push命令将该代码版本推送到远程仓库中。
    • 此时,程序员b需要开发,此时她的电脑上什么都没有,所以需要将远程仓库中所有的代码版本都复制一份。
      • 因此她使用了clone命令,该命令 会将远程仓库中所有的代码版本都复制一份到本地历史仓库。
    • 当程序员b修复了一个bug后,通过add、commit命令提交到本地历史仓库后,使用push命令将该代码版本推送到远程仓库中。
    • 此时程序员a想要获取最新的代码版本,由于他电脑上已经有了一部分,所以无需clone,只需使用pull命令更新本地仓库与远程仓库不同的部分即可。

    6.3.常见代码托管平台

    7.演示Gitee的使用

    7.1.本地仓库已有-远程仓库为空

    7.1.1.创建远程仓库

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

    7.1.2.配置SSH公钥

    • 创建好远程仓库,还不能直接将本地仓库的项目push到远程仓库,在此之前需要配置SSH公钥
    • 配置步骤
      在这里插入图片描述
    • 设置Git账户
      在这里插入图片描述
    • 生成SSH公钥
      • 在生成SSH公钥之前,可以使用这个命令查看以前是否生成过SSH公钥
        cd ~/.ssh
        
        • 1
      • 生成SSH公钥
        # 询问命令放在哪,敲3次回车即可
        ssh-keygen –t rsa –C “邮箱”
        
        • 1
        • 2
      • 查看生成的SSH公钥
        cat ~/.ssh/id_rsa.pub
        
        • 1
    • 设置SSH公钥到远程仓库

      在这里插入图片描述在这里插入图片描述
    • 公钥测试
      ssh -T git@gitee.com
      
      • 1
      • 出现绿色successfully,表示配置成功
        在这里插入图片描述

    7.1.3.推送本地项目到远程仓库

    • 远程仓库地址一般很长,老写不方便,先给远程仓库地址,设置一个别名 origin
      git remote add origin git@gitee.../hello-world.git
      
      • 1
    • 推送本地项目到远程仓库中
      git add .
      git commit -m "init repo"
      git push -u 仓库名称 分支名
      
      • 1
      • 2
      • 3

    7.1.4.远程仓库已有-本地仓库为空

    • 克隆仓库
      git clone 仓库地址
      
      • 1
    • 拉取代码
      git pull 仓库地址 分支名
      
      • 1
  • 相关阅读:
    将SpringBoot项目的jar包注册成service服务的方式启动
    【ASP.NET Core】MVC模型绑定——实现同一个API方法兼容JSON和Form-data输入
    蓝桥等考Python组别十四级008
    18 个 Python 技巧帮助你简化代码
    AWS SAP-C02教程10-其它服务
    Ubuntu 配置
    Kafka入门
    golang正则regexp包使用-04-使用正则替换(ReplaceAll(),ReplaceAllLiteral(),ReplaceAllFunc())
    [经验] 玄殿社区qq堂4.2 #笔记#媒体
    优思学院《质量工程师入门攻略2024》
  • 原文地址:https://blog.csdn.net/a1369760658/article/details/137222958