当前位置: 首页 > news >正文

【Git】git的概述、如何下载以及它的工作机制

目录

一、Git概述

二、何为版本控制

版本控制工具

🎈集中式版本控制工具

🎈分布式版本控制工具

三、下载Git

下载完之后的打开方法

1、桌面点击右键(git GUI是git的图形化界面,由于丑所以一般不用;用Git Bash Here,一个Bash客户端)

 2、可以从下载的目录中打开

3、也可以在windows终端输入命令进行打开git的图形界面

四、Git工作机制

Git和代码托管中心


一、Git概述

        Git是一个免费、开源分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。(说白了Git就是公司里面用来管理代码的)

        Git占地面积小,性能极快。它具有廉价的本地库(Git本地库在本地磁盘上,所以说廉价...),方便的暂存区和多个工作流分支等特性。其性能要优于Subversion,CVS,Perforce和ClearCase等版本工具。(官网所述)

 (上面的概述也就是下面这段官网翻译)

二、何为版本控制

        版本控制就是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。

        版本控制最重要的是可以记录文件修改记录,从而让用户能够查看历史版本方便版本切换

        比如:我用word写了篇文章,然后想要对其更改,又想保留原先写的,那我就可以添加个word副本然后对其进行修改,但我仍然可以看到没改之前的word文档,发给别人的时候,可以选择其中一个发。(这就是以副本的形式进行版本控制)

版本控制工具

🎈集中式版本控制工具

CVS、SVN(Subversion)、VSS...

        集中化的版本控制系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器取出最新的文件或者提交更新

         好处:工作人员可以在一定程度上看到项目中其他人在做什么;管理员可以轻松掌握每个开发者的权限管理一个集中化的版本控制系统,要远比在各个客户端维护本地数据库来的轻松容易。

        坏处:中央服务器的单点故障问题(就是如果服务器停掉了,那么就无法提交更新的文件,无法提交更新的文件那就无法协同工作了)。

(就是取出管理的中央服务器的文件然后修改,然后提交给服务器,然后其他的工作人员可以取出然后在改)

🎈分布式版本控制工具

Git、Mercurial、Bazzaar、Darcs...

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

分布式的版本控制系统出现后,解决了集中式版本控制的哪些缺陷?

        a.服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)

        b.每个客户端保存的也都是整个完整的项目(包括历史记录,更加安全)

 

 

三、下载Git

1. 进入官网:Git官网

2. 现在最新版已经是2.38了,点击下载

 3. 根据自己的电脑选择下载类型。(我的是Windows64位)

 4. 等待下载😒

 

5.可以换换安装路径。其他的无脑next问题不大😆

下载完之后的打开方法

1、桌面点击右键(git GUI是git的图形化界面,由于丑所以一般不用;用Git Bash Here,一个Bash客户端)

打开后我们可以输入:git --version命令查看版本信息,看看自己是否下的正确; 

 2、可以从下载的目录中打开

3、也可以在windows终端输入命令进行打开git的图形界面

(这个是下载后自动添加的环境变量,所以在终端打开git的图形化界面,如果想在终端直接打开git-bash,可以把环境变量的\cmd删掉,重新设置环境变量,不过一般采用这种打开方式有点多此一举,还是第一种比较方便)

 

四、Git工作机制

 

工作区:指的不是开发工具,是指在磁盘中的目录;

暂存区:工作区写了代码后,可添加到暂存区,要让git知道有这么个文件(临时存储,不会生成真正的历史版本),这个时候还可以更改;

本地库:一旦由暂存区提交到本地库后,就生成了历史版本,修改不了了(可以理解为载入史册)

远程库:(下面有解释)

Git和代码托管中心

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

🎈局域网

        ❗GitLab

🎈互联网

        ❗Github(外网)

        ❗Gitee码云(国内网站)

相关文章:

  • 【springboot进阶】项目构建(二)自定义starter
  • (附源码)计算机毕业设计ssm大学生二手物品交易网站
  • 【计算机网络实验】物理层连接与集线器工作原理实验
  • 如何查看电脑连接过的WiF的密码(Windows版)
  • 在一家虚拟现实公司工作是什么感受?
  • 设计 | 面向对象 - [设计原则总纲与深度理解] TBC...
  • (附源码)计算机毕业设计ssm大学生兼职管理系统
  • C++中的map排序
  • 电子信息类和计算机类专业网课表
  • 赛恩斯环保通过注册:上半年营收2亿 高伟荣家族为实控人
  • 波 特 图
  • 是多重继承
  • 深入分析vhost-user网卡实现原理 —— VirtIO Features协商
  • Pytorch 之torch.nn进阶第1关:正则化
  • 22.<tag-二叉树和树的构建问题>补充: lt.114. 二叉树展开为链表 + lt.108. 将有序数组转换为二叉搜索树 dbc
  • 倡导国稻种芯·中国水稻节 万祥军:稻作文化中国农民丰收节
  • JAVA设计模式-装饰模式
  • MySQL事务的理解
  • Unix五种IO模型
  • 【MM32F5270开发板试用】如何将数据存放在DTCM