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

Git工具

Git概述_什么是Git

img

Git历史

很多人都知道,林纳斯·托瓦兹在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。

img

Git是什么

Git是一种代码托管技术。在开发中,Git是一种代码托管技术,很多代码托管平台也是基于Git来实现的。Git可以帮我们做到很多的事情,比如代码的版本控制,分支管理等。

注意:

我们可以把Git理解成是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。正是因为有了Git的存在,现在很多工作才可以变得相对轻松。

实时学习反馈

1. Git是_____技术。

A 项目管理

B 缓存

C 代码托管

D 控制系统

2. Git是一个开源的_____版本控制系统。

A 分布式

B 集群

C 单机

D 集中式

答案

1=> C 2=>A

Git概述_为什么要使用Git

image-20211206103623786

什么是版本控制系统

你可以把一个版本控制系统(缩写VCS)理解为一个“数据库”,在需要的时候,它可以帮你完整地保存一个项目的快照。当你需要查看一个之前的快照(称之为“版本” )时,版本控制系统可以显示出当前版本与上一个版本之间的所有改动的细节。

image-20211201143715284

想法:

因为我们怕在原来的基础改错了东西,没法恢复,所以,我们可能会有多个毕业论文的文件。而我们写代码的时候本身就是「多人协作」的,修改是无法避免的,我们不希望有多个文件的产生,又希望能够记录每次更改的内容。“

这个软件用起来就应该像这个样子,能记录每次文件的改动:

版本 文件名 用户 说明 日期
1 service.doc 张三 删除了软件服务条款5 7/12 10:38
2 service.doc 张三 增加了License人数限制 7/12 18:09
3 service.doc 李四 财务部门调整了合同金额 7/13 9:51
4 service.doc 张三 延长了免费升级周期 7/14 15:17

注意:

结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。

实时学习反馈

1. Git主要解决______问题。

A 兼容性

B 速度

C 安全

D 多人协作

2. Git中版本控制系统可以理解为______

A 数据库

B 服务

C 系统

D 网络

答案

1=> D 2=>A

Git概述_Git和SVN对比

image-20211203184628478

SVN集中式

集中式版本控制系统需要找一个服务器作为大本营,所有的代码都需要提交到服务器上进行统一的管理。当你需要对代码进行改动时,需要先从服务器上下载一份拷贝,修改完成之后,还需要上传回服务器。

img

SVN优缺点

优点:

  1. 管理员也可以轻松掌控每个开发者的权限。
  2. 代码一致性非常高。
  3. 适合开发人数不多的项目开发。

缺点:

  1. 服务器压力太大,数据库容量暴增。
  2. 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。

Git分布式

在分布式版本控制系统中,大家都拥有一个完整的版本库,不需要联网也可以提交修改,所以中心服务器就显得不那么重要了。

img

注意:

Git记录版本历史只关心文件数据的整体是否发生变化。Git 不保存文件内容前后变化的差异数据。

Git优缺点

优点:

  1. 适合分布式开发,强调个体。
  2. 公共服务器压力和数据量都不会太大。
  3. 速度快、灵活。
  4. 任意两个开发者之间可以很容易的解决冲突。
  5. 离线工作。

缺点:

  1. 学习周期相对而言比较长。
  2. 不符合常规思维。
  3. 易学难精,80/20(20%的指令就可以应对80%的任务)

实时学习反馈

1. 下列属于SVN技术优点的是____。

A 服务器压力太大,数据库容量暴增

B 代码一致性非常高

C 必须联网

D 不适合开源开发

2. 下列属于Git技术缺点的是_____。

A 速度快、灵活

B 公共服务器压力和数据量都不会太大

C 学习周期相对而言比较长

D 离线工作

答案

1=> B 2=>C

Git概述_Git工作流程

image-20211201150955007

四个工作区域

img

Workspace: 工作区,就是你平时存放项目代码的地方

Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

image-20211206164842772

工作流程

Git的工作流程一般是这样的:

  1. 在工作目录中添加、修改文件;

  2. 将需要进行版本管理的文件放入暂存区域;

  3. 将暂存区域的文件提交到git仓库。

实时学习反馈

1. Git技术中版本库主要作用_____。

A 兼容性

B 托管代码的服务器

C 安全存放数据的位置

D 用于临时存放你的改动

2. Git技术中暂存区主要作用_____。

A 放项目代码的地方

B 放入仓库的版本

C 托管代码的服务器

D 用于临时存放你的改动

答案

1=> C 2=>D

Git概述_Git下载与安装

img

注意:

在Windows操作系统中安装 Git之前,先从官方网站(Git)下载合适的Git版本。

下载window版

http://通过网盘分享的文件:Git-2.34.1-64-bit.exe 链接: https://pan.baidu.com/s/1nIYXuo60rJ01ZQ8RshQWJg?pwd=qr8x 提取码: qr8x 复制这段内容后打开百度网盘手机App,操作更方便哦

image-20211201151655556

下载64位软件包

image-20211201151732057

安装Git

image-20211201151901140

除了安装的目录可以修改(不要有中文就行)其他全部默认就行

Git基础_环境配置

image-20211206113332000

当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。

设置用户信息

git config --global user.name "baizhan"
git config --global user.email "baizhan@163.com"

查看配置信息

检查当前的设置

git config --list
git config user.name

注意:

通过上面的命令设置的信息会保存在~/.gitconfig文件中。(~/ 就是用户的根目录)

实时学习反馈

1. Git如何设置用户信息命令__

git config user.name

git config --global user.name

git config name

git config -global user.name

2. Git中默认设置用户的信息会保存在_____文件中。

~/.gitconfig

config

.gitconfig

~/.config

答案

1=> B 2=>A

Git基础_本地初始化仓库

image-20211206115337187

如果是全新的开始

如果这是你第一次使用Git,那么就先从创建一个全新的目录开始吧。打开终端机窗口,并试着操作以下命令(命令后面的#是说明,不需要输入):

mkdir tmp #创建tmp目录 其实就可以右击创建一个新的文件夹就行,然后在这个文件夹里打开git控制台
git init #初始化这个目录让Git对这个目录开始进行版本控制。

小提示:

git init 命令会在上述目录中创建一个名为 .git 的隐藏目录,并在其中创建一个版本库。该目录为文件,查看->显示隐藏目录。整个Git的精华都集中在这个目录中了,现在不先讲细节,只是体会一下使用Git的感觉,后续在详细介绍。

image-20211201152318878

实时学习反馈

1. Git中如何初始化目录并把文件交给Git管理______

git init

git create

git add

git commit

答案

1=> A

Git基础_文件的两种状态

image-20211206111910104

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。

image-20211206164842772

注意:

Git不关心文件两个版本之间的具体差别,而是关心文件的整体是否有改变,若文件被改变,在添加提交时就生成文件新版本的快照,而判断文件整体是否改变的方法就是用SHA-1算法计算文件的校验和。

untracked未跟踪

未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

tracked已跟踪

被纳入版本控制

  • Unmodified

    文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified,如果使用git rm移出版本库, 则成为Untracked文件。

  • Modified

    文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回

http://www.xdnf.cn/news/1372069.html

相关文章:

  • 【44页PPT】极简架构MES系统解决方案介绍(附下载方式)
  • 阿里云 ECS 可观测性最佳实践
  • 简易shell
  • 【ElasticSearch】客户端选择
  • 力扣100+补充大完结
  • Linux命令详解+示例(炫彩超全)
  • 在Godot中为您的游戏添加并控制游戏角色的完整技术指南
  • IUV5G专网排障(上)
  • Markdown 编辑器 语法
  • 使用【阿里云百炼】搭建自己的大模型
  • 微服务-26.网关登录校验-OpenFeign传递用户信息
  • 半小时打造七夕传统文化网站:Qoder AI编程实战记录
  • 【HarmonyOS NEXT】打包鸿蒙应用并发布到应用市场
  • dapo:开源大规模llm强化学习系统的突破与实现
  • Spring Boot -Mybatis的使用和基础
  • 【图像处理 - 基础知识】ISP(Image Signal Processor)处理
  • 基于SpringBoot的社团管理系统【2026最新】
  • JVM线上调优参数配置指南
  • Powercat PowerShell工具:原理详解+使用方法+渗透实战
  • C语音初阶————指针2
  • 小范围疫情防控元胞自动机模拟matlab
  • 用 Allure 生成 pytest 测试报告:从安装到使用全流程
  • 【项目】深房数据通——深圳房价可视化系统
  • 数字时代下的智能信息传播引擎
  • Python大型数组计算完全指南:从基础到分布式系统实践
  • 简明 | ResNet特点、残差模块、残差映射理解摘要
  • Cherry-pick冲突与Git回滚
  • Nginx Ubuntu vs CentOS 常用命令对照表---详解笔记
  • 手机移动代理IP:使用、配置、维护的10问10答
  • 数据集数量与神经网络参数关系分析