golang语言系列:Git

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

本文是 golang语言系列 文章,主要对编程通用技能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.常见代码托管平台

  • GitHub

  • Gitee

7.演示Gitee的使用

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

7.1.1.创建远程仓库



7.1.2.配置SSH公钥

  • 创建好远程仓库,还不能直接将本地仓库的项目push到远程仓库,在此之前需要配置SSH公钥

  • 配置步骤

  • 设置Git账户

  • 生成SSH公钥

    • 在生成SSH公钥之前,可以使用这个命令查看以前是否生成过SSH公钥

      sh 复制代码
      cd ~/.ssh
    • 生成SSH公钥

      sh 复制代码
      # 询问命令放在哪,敲3次回车即可
      ssh-keygen --t rsa --C "邮箱"
    • 查看生成的SSH公钥

      sh 复制代码
      cat ~/.ssh/id_rsa.pub
  • 设置SSH公钥到远程仓库

  • 公钥测试

    sh 复制代码
    ssh -T git@gitee.com
    • 出现绿色successfully,表示配置成功

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

  • 远程仓库地址一般很长,老写不方便,先给远程仓库地址,设置一个别名 origin

    sh 复制代码
    git remote add origin git@gitee.../hello-world.git
  • 推送本地项目到远程仓库中

    sh 复制代码
    git add .
    git commit -m "init repo"
    git push -u 仓库名称 分支名

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

  • 克隆仓库

    sh 复制代码
    git clone 仓库地址
  • 拉取代码

    sh 复制代码
    git pull 仓库地址 分支名
相关推荐
Franklin8 小时前
VS 版本更新git安全保护问题的解决
git
我是一只代码狗11 小时前
idea中合并git分支
git
我是一只代码狗11 小时前
idea中使用git
git·gitee·github
恋喵大鲤鱼12 小时前
git restore
git·git restore
李少兄12 小时前
Git Commit Message写错后如何修改?已Push的提交如何安全修复?
git·安全
Fireworkitte12 小时前
git stash
git
产品经理独孤虾13 小时前
GitHub Copilot:产品经理提升工作效率的AI助手
github·copilot·产品经理·原型设计·ai工具·效率提升·prd
杜莱15 小时前
IDEA 安装AI代码助手GitHub Copilot和简单使用体验
人工智能·github·intellij-idea
LogicFlow16 小时前
对单调的画布说拜拜👋🏻
前端框架·开源·github