Git - git与GitHub标签解析【图文】

Git

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/gɪt/。
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理
在这里插入图片描述


版本控制

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理

常见的版本控制:

  • 手动版本控制,自己手动管理,但是当项目大时就可能出现问题
    在这里插入图片描述
  • 本地版本控制:RCS等,当将文件检入RCS时,会在当前目录下的./RCS/目录中创建相应的历史文件。该文件后缀有.v;RCS使用反向增量方案来存储文件更改

在这里插入图片描述

  • 集中式版本控制:CVS、SVN
    在单机版本控制工具基础上添加了网络,使其网络化协作化
    代码都都存储在服务器端,开发者需从服务器上获得一份代码复制到本机,然后开发。开发者可随时将新代码提交给服务器,也可以通过更新操作获得最新的代码,保持与其他开发者的一致,所有操作都需要通过服务端进行同步

CVS:
在这里插入图片描述

SVN:改善CVS,实现更强大的集中式解决方案

在这里插入图片描述

  • 分布式版本控制:Git
    分布式VCS,无需集中式的中央服务器。在Git中所有副本都是相等的,即便是远程Git服务器也是等价的副本
    类似与客户端Git也带有服务器

在这里插入图片描述


关于Git程序

下载安装Git程序,当安装好Git后

在菜单项会有:
在这里插入图片描述

  • Git Bash:命令行界面,类似与Unix与Linux风格,常用

  • Git CMD:Windows风格的命令行

  • Git GUI:图形界面的Git,有命令行就够了,图形化界面又丑又难用

当然,我们使用Git并不会用菜单栏,而是直接到对应的文件夹,点击右键

在这里插入图片描述

然后使用Git Bash Here,就是打开Git的命令行界面

在这里插入图片描述


关于暂存区、工作区

当在一个文件夹内初始化git init

就会创建.git隐藏目录(windows需要点开隐藏的项目)

在这里插入图片描述

这个文件夹是一个版本库,其中称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

试试:
我们可以创建一个文件a.html,在git add .
在这里插入图片描述
点开.git文件夹

在这里插入图片描述

index文件,就是暂存区(stage),HEAD是指向master的指针
如果没有提交是不会有index的,这里有点Unix的万物皆文件的思想

可以大致总结:从本地目录到远程仓库GitHub的过程

在这里插入图片描述

注意:

当要连接远程仓库如gitHub时,需要将本地仓库与远端仓库建立一个链接git remote add origin
如:

git remote add origin https://gitee.com/zfkhhh/DataStructures.git

分支

在Git初始化文件夹时,会默认创建一个master主分支,HEAD指针指向该分支

我们的每一次提交都类似与设置了一个时间点,在提交时Git会把它们串成一条线(版本控制)

而master也类似与指针,指向最新的版本

在这里插入图片描述

我们设置一个分支dev,即类似与多了一条指针指向版本3

在这里插入图片描述

切换到该dev分支(HEAD指针指向该分支),当我们用dev分支提交了一个新版本

在这里插入图片描述

重新回到master分支(HEAD指针)

在这里插入图片描述

合并:将master推向新版本

在这里插入图片描述

具体操作

  1. 用master将a.html 提交,版本1
    git status查看版本库状态(有没有文件没有提交)
    在这里插入图片描述

  2. git checkout -b dev创建新分支并切换到该分支并创建b.txt文件提交,版本2

git checkout -b dev
简化:
git branch dev
git checkout dev

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

  1. 切换到master分支,把master分支合并到版本2

在这里插入图片描述

git merge dev

git merge合并指定分支到当前分支
在这里插入图片描述


GitHub与Gitee

基于Git实现在线代码托管的仓库有GitHub、Gitee等

GitHub是外国的,Gitee是中国的

两个都是一样的,但因为我没有梯子,去外网简直慢到爆炸,所以使用的Gitee

Gitee官网显示有这么多区别:

在这里插入图片描述

没用过,不是那后面的东西,不清楚,但官网都说了应该是这样的

要不是那么多开源项目都在GitHub,根本不想去GitHub,没梯子太卡了


Gitee标签

GitHub与Gitee基本类似,这里用Gitee
一个简单的仓库,下面来解释这些标签的作用
在这里插入图片描述

Code

代码:我们提交的东西都会在这显示
在这里插入图片描述

Issues

问题提出:对于我们放到仓库的项目,别人可以提出问题,找bug
一个问题讨论区

在这里插入图片描述

Pull Request

Pull Request:发起Pull Request给原仓库,让管理员看到我们修改的项目bug,当然,一般是要先fork原项目,修改后提交

在这里插入图片描述

新建Pull Request,因为我们的dev分支和master分支没有不同,自动提醒了,
我们在dev分支修改了一下

然后将源分支(我们修改的)改为dev,目标分支是master(我们希望修改的项目所在分支)
在这里插入图片描述

用dev分支新增一个c.txt,假装修改了一个bug,然后提供给项目管理员

在这里插入图片描述

在这里插入图片描述

这样就有了一个Pull Request

在这里插入图片描述

附件

上传一些文件,可以用附件

在这里插入图片描述

Wiki

如果REDAME.md还不够说明项目,可以使用Wiki文档详细的说明项目

在这里插入图片描述

统计

在这里插入图片描述

DevOps

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合

在这里插入图片描述

这是关于产品敏捷开发,开发人员(Dev)+运维人员(Ops)

需要的话,可以网上搜索

服务

Gitee提供了一些额外服务

在这里插入图片描述

  • Gitee Pages:不得不说,NodeJS、VUE项目,放到Gitee Pages就可以运行网站,通过NodeJS、VUE搭建网站可以使用这个

  • JavaDoc 文档自动生成以及托管 (免费)

  • sonar 代码质量分析平台,可以对项目进行代码行数量/重复率统计、代码逻辑缺陷扫描(如空指针)、口令/密钥泄漏风险扫描、坏味道检测,并给出对应详细的报告与修复评估

  • 等等,在官网可以查看码云:服务集成

管理

一些关于仓库、项目成员、公钥等的管理
在这里插入图片描述

watch\Star\fork

在这里插入图片描述

watch:眼睛图标标着Watch字样,点击这个按钮就可以Watch该仓库,今后该仓库的更新信息会显示在用户的公开活动

当你点了关注,就变成unwatch

在这里插入图片描述

Star旁边的数表示给这个仓库添加Star的人数,这个数越高,代表该仓库越受关注
当然,这个仓库得公开才可以Star

fork 就是被人copy的次数

在这里插入图片描述

介绍

在上面的标签下:第一行是仓库的介绍
在这里插入图片描述
可以在这里修改,也可以在管理界面修改仓库介绍

项目信息

在这里插入图片描述

  • 提交:提交次数
  • 分支:分支(master、dev)数
  • 标签:为某个版本、某次提交打上某个发行版的标签
git tag -a <版本号> -m "<备注信息>"

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 发行版:由管理员管理,发行该项目,其他用户可以下载该发行版
    那些开源项目都会有各种发行版,例如org.springframework.boot:spring-boot-starter-aop:1.5.7.RELEASE

这里的这个1.0发行版是我们创建标签时设置的1.0,设置标签会自动创建
在这里插入图片描述
例如我们创建一个发行版

在这里插入图片描述

  • 贡献者:提交的人数

第三行项目信息

第一个是分支,可以切换,不同的分支是不一样的

在这里插入图片描述

后面的Pull Request、Issue就是上面的一行的同样的

文件标签可以上传文件,不够有文件数量限制

在这里插入图片描述

指的一提的Web IDE,类似与IDEA

在这里插入图片描述

克隆/下载:下载项目

在这里插入图片描述


总结

关于Git就到这了,这篇文章并没有讲太多Git的指令,而是解析Git的工作流程,GitHub的界面

关于Git的指令可以去Git官网看
在这里插入图片描述

值得一提的Git命令学习,是动画界面的,很好用

Git是很重要的项目管理工具,一定要学会

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值