Git知识点及常用命令介绍—2023.04

文章目录

    • 一、Git介绍
      • 1、版本控制概述
        • 1.1 版本控制定义
        • 1.2 为什么要进行版本控制
        • 1.3 版本控制工具
      • 2、 Git发展历史
      • 3、Git工作机制
      • 4、 Git和代码托管中心
      • 5、Git分支
        • 5.1 Git分支定义
        • 5.2 使用分支的好处
      • 6、团队协作机制
        • 6.1 团队内协作机制
        • 6.2 跨团队协作机制
    • 二、Gitlab介绍
    • 三、码云介绍(Gitee)
    • 四、常用命令
      • 1、 Git常用命令
      • 2、Git分支常用命令
      • 3、远程仓库操作命令
    • 补充:SSH免密登录Github

一、Git介绍

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。
Git 易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。

1、版本控制概述

1.1 版本控制定义

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。

1.2 为什么要进行版本控制

实现个人开发到团队协作的目的。

1.3 版本控制工具

  • 集中式版本控制工具

CVS、SVN(Subversion)、VSS……

集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。
这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。
这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。
Git知识点及常用命令介绍—2023.04_第1张图片

  • 分布式版本控制工具

Git、Mercurial、Bazaar、Darcs……

像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
①服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
②每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
Git知识点及常用命令介绍—2023.04_第2张图片

2、 Git发展历史

Git知识点及常用命令介绍—2023.04_第3张图片

3、Git工作机制

整个流程分为三个区域,工作区、暂存区及本地库。其中工作区不是指写代码的地方,而是电脑磁盘中储存代码的地方。
开发人员在工作区编辑完代码后,提交到暂存区,然后再提交到本地库。
Git知识点及常用命令介绍—2023.04_第4张图片

4、 Git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

  • 局域网
    ✓ GitLab
  • 互联网
    ✓ GitHub(外网)
    ✓ Gitee 码云(国内网站)

5、Git分支

5.1 Git分支定义

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

5.2 使用分支的好处

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

6、团队协作机制

6.1 团队内协作机制

Git知识点及常用命令介绍—2023.04_第6张图片

6.2 跨团队协作机制

Git知识点及常用命令介绍—2023.04_第7张图片

二、Gitlab介绍

GitLab 是由 GitLabInc.开发,使用 MIT 许可证的基于网络的 Git 仓库管理工具,且具有wiki 和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。
GitLab 由乌克兰程序员 DmitriyZaporozhets 和 ValerySizov 开发,它使用 Ruby 语言写成。后来,一些部分用 Go 语言重写。截止 2018 年 5 月,该公司约有 290 名团队成员,以及 2000 多名开源贡献者。GitLab 被 IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX 等组织使用。

官网地址:https://about.gitlab.com/

三、码云介绍(Gitee)

众所周知,GitHub 服务器在国外,使用 GitHub 作为项目托管网站,如果网速不好的话,严重影响使用体验,甚至会出现登录不上的情况。针对这个情况,大家也可以使用国内的项目托管网站-码云。

码云是开源中国推出的基于 Git 的代码托管服务中心,网址是 https://gitee.com/ ,使用方式跟 GitHub 一样,而且它还是一个中文网站,如果你英文不是很好它是最好的选择。

四、常用命令

1、 Git常用命令

命令名称 作用
git config --golbal user.name 用户名 设置用户名
git config --global user.email 邮箱 设置用户名邮箱
git init 初始化本地库
git status 查看本地库状态
git add 文件名 添加到暂存区
git commit -m “日志信息” 文件名 提交到本地库
git reflog 查看版本信息
git log 查看版本详细信息
git reset --hard 版本号 版本穿梭

2、Git分支常用命令

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

3、远程仓库操作命令

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

补充:SSH免密登录Github

Git知识点及常用命令介绍—2023.04_第8张图片
具体操作如下:

--进入当前用户的家目录
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ cd
--删除.ssh 目录
Layne@LAPTOP-Layne MINGW64 ~
$ rm -rvf .ssh
removed '.ssh/known_hosts'
removed directory '.ssh'
--运行命令生成.ssh 秘钥目录[注意:这里-C 这个参数是大写的 C]
Layne@LAPTOP-Layne MINGW64 ~
$ ssh-keygen -t rsa -C [email protected]
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Layne/.ssh/id_rsa):
Created directory '/c/Users/Layne/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Layne/.ssh/id_rsa.
Your public key has been saved in /c/Users/Layne/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:7CPfRLITKcYDhaqpEDeok7Atvwh2reRmpxxOC6dkY44 
[email protected]
The key's randomart image is:
+---[RSA 2048]----+
| .. |
| .. |
| . .. |
|+ + o . . |
|oO . = S . |
|X . .. + = |
|+@ * .. = . |
|X.&o+. o = |
|Eo+Oo . . |
+----[SHA256]-----+
--进入.ssh 目录查看文件列表
Layne@LAPTOP-Layne MINGW64 ~
$ cd .ssh
Layne@LAPTOP-Layne MINGW64 ~/.ssh
$ ll -a
total 21
drwxr-xr-x 1 Layne 197609 0 11 月 25 19:27 ./
drwxr-xr-x 1 Layne 197609 0 11 月 25 19:27 ../
-rw-r--r-- 1 Layne 197609 1679 11 月 25 19:27 id_rsa
-rw-r--r-- 1 Layne 197609 406 11 月 25 19:27 id_rsa.pub
--查看 id_rsa.pub 文件内容
Layne@LAPTOP-Layne MINGW64 ~/.ssh
$ cat id_rsa.pub
ssh-rsa 
AAAAB3NzaC1yc2EAAAADAQABAAABAQDRXRsk9Ohtg1AXLltsuNRAGBsx3ypE1O1Rkdzpm
l1woa6y6G62lZri3XtCH0F7GQvnMvQtPISJFXXWo+jFHZmqYQa/6kOIMv2sszcoj2Qtwl
lGXTPn/4T2h/cHjSHfc+ks8OYP7OWOOefpOCbYY/7DWYrl89k7nQlfd+A1FV/vQmcsa1L
P5ihqjpjms2CoUUen8kZHbjwHBAHQHWRE+Vc371MG/dwINvCi8n7ibI86o2k0dW0+8SL+
svPV/Y0G9m+RAqgec8b9U6DcSSAMH5uq4UWfnAcUNagb/aJQLytrH0pLa8nMv3XdSGNNo
AGBFeW2+K81XrmkP27FrLI6lDef [email protected]

复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys
Git知识点及常用命令介绍—2023.04_第9张图片
Git知识点及常用命令介绍—2023.04_第10张图片
Git知识点及常用命令介绍—2023.04_第11张图片
接下来再往远程仓库 push 东西的时候使用 SSH 连接就不需要登录了

你可能感兴趣的:(云原生,git,svn,github,Gitlab)