Git的安装和学习使用(一)

在这里插入图片描述

本篇文章旨在分享本人在学习Git时的随笔记🤩

文章目录

    • 一、Git 快速入门
      • 1.1 Git 概述
      • 1.2 SCM概述
      • 1.3 Git 安装
        • 1.3.1 软件下载
        • 1.3.2 软件安装
        • 1.3.3 软件测试
    • 二、Git 基础使用
      • 2.1 Git 概念
        • 2.1.1 版本控制
        • 2.1.2 分布式
        • 2.1.3 系统
        • 2.1.4 区域
      • 2.2 Git 基础指令
        • 2.2.1 Linux 系统操作指令
        • 2.2.2 Git软件指令
          • 配置信息
          • 名字和邮箱
          • 初始化版本库
          • 向版本库中添加文件
          • 修改版本库文件
          • 查看版本库文件历史
          • 删除文件
          • 恢复历史文件
    • 最后

一、Git 快速入门

1.1 Git 概述

  Git是一个免费的,开源的分布式版本控制系统,可以快速高效的处理从小型或大型的各种项目。Git易于学习,占用空间小,性能快得惊人。

1.2 SCM概述

  SCM(Software Configuration Management,软件配置管理)是一种标识、组织和控制修改的技术。它应用于整个软件生存周期。

  Git 软件比 Subversion、CVS、Perforce 和 ClearCase 等 SCM(Software Configuration Management 软件配置管理)工具具有性价比更高的本地分支、方便的暂存区域和多个工作流等功能。

1.3 Git 安装

1.3.1 软件下载

软件官网地址:https://git-scm.com/

软件下载地址为:下载

idJoSd.png

最早 Git 是在 Linux 上开发的,目前 Git 可以在 Linux、Unix、Mac 和Windows这几大平台正常运行。本次安装时 Windows 系统 2.40.0 版本进行下载。

1.3.2 软件安装

  Git 软件安装的步骤虽然比较多,但是整个安装过程还是比较简单的,双击 exe 执行文件,按照引导界面的提示安装即可

idLWWx.png

点击 Next 下一步,选择安装目录,默认安装在 C 盘中

idL2dv.png

点击 Next 下一步,选择组件,此处默认即可

idLNkZ.png

点击 Next 下一步,配置启动菜单,此处默认即可

idLgHX.png

点击 Next 下一步,配置编辑器工具,这里选择自己习惯的编辑工具即可。

idL7TJ.png

后续不需要其他特殊配置,可以连续默认选择 Next 下一步即可。

idMArQ.png idMWzX.png idMC0J.png idMwKA.png idMO3N.png idMbSV.png idMIbb.png idMNzq.png idMRCw.png idMcXa.png idMmKx.png

1.3.3 软件测试

在 Windows 桌面空白处,点击鼠标右键,弹出右键菜单

idPUnx.png

Git 软件安装后,会在右键菜单中增加两个菜单

  • Git GUI Here
  • Git Bash Here

此处仅仅是为了验证 Git 软件安装的效果,所以选择 Git Bash Here 菜单,选择后,Windows系统弹出 Git 软件的命令行黑窗口。

idavVL.png

窗口弹出后,可以输出 Git 软件的操作指令。此时我们使用键盘输入操作指令:git -v 或 git --version,查看当前 Git 软件的安装版本。

git -v

git – version

id108N.png id1lYd.png

输入指令回车后,如果黑窗口中打印出咱们安装的软件版本 2.40.0,Git 软件安装成功了。

二、Git 基础使用

2.1 Git 概念

  Git 是一个免费的,开源的分布式版本控制软件系统,学习 Git 软件的具体操作前,我们需要对一些基础的概念和名词进行解释。

2.1.1 版本控制

  一般情况下,一份文件,无论是 DOC 办公文档,还是编程源码文件,我们都是对文件大量的修改和变更。但是我们无法保证每一次的修改和变更都是正确并有效的,往往需要追溯历史操作,而版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

2.1.2 分布式

  在 Git 中,每个版本库都是一样的重要。所以就不存在就像集中式版本控制软件中以谁为主得问题。任何一个库都可以当成主库。这种方式可以更大限度地保证项目资源的安全。

2.1.3 系统

  一般软件系统指的是可以独立运行地软件应用程序。而 Git 软件就是专门用于代码文件进行版本控制的应用程序。同时也提供客户端对系统所管理的资源进行访问。

2.1.4 区域

  Git 软件为了更方便地对文件进行版本控制,根据功能的不同划分了三个区域。

idQzBz.png
  • 存储区域:Git 软件用于存储资源的区域。一般指的就是.git 文件夹
  • 工作区域:Git 软件对外提供资源的区域,此区域可人工对资源进行处理。
  • 暂存区:Git 用于比对存储区域和工作区域的区域。Git 根据对比的结果,可以对不同状态的文件执行操作。

2.2 Git 基础指令

  Git 软件是免费、开源的。最初 Git 软件是为辅助 Linux 内核开发的一套软件,所以在使用时,简单常用的 Linux 洗头膏操作指令是可以直接使用的。

2.2.1 Linux 系统操作指令

指令含义说明
cd 目录change directory改变操作目录
cd …退回到上一级目录
pwdPrint work directory打印工作目录
lslist directory contents显示当前目录的文件及子文件目录
llls -l 简化版本更详细地显示当前目录的文件及子文件目录
mkdir 文件夹名称make directory新建一个文件夹
rm 文件remove删除文件
rm -r 文件夹Remove删除文件目录
touch 文件如果创建的文件不存在,那么创建一个空文件
reset清屏
clear清屏
exit退出终端窗口

2.2.2 Git软件指令

配置信息

  作为一个工具软件来讲,一般都会有默认的配置文件来保存基础的配置信息,Git 软件的配置文件位置:Git 软件的配置文件位置:Git安装路径/etc/gitcongif

ihfcgQ.png

默认情况下,我们可以通过指令获取软件的配置信息:

git config -l

ihfooq.png
名字和邮箱

你是第一次使用 Git 软件,需要配置 Git 软件的名称和邮箱,否则无法将文件那人到版本库中进行版本管理。当然了,配置的过程并不复杂,输入相关指令即可

git config --global user.name test

git config --global user.email test@atguigu.com

这里的 --global 表示全局配置,后续的所有文件操作都会使用该用户名称及邮箱。此时在操作系统的用户目录,会产生新的配置文件

ihy8md.png

文件中就包含了刚刚增加的配置信息

初始化版本库

  Git 软件主要用于管理文件的版本信息,但它只是一个软件,不可能安装后就直接将系统中的文件全部纳入它的管理范畴中。一般情况下,我们需要指定某一个文件目录作为软件的管理目录。目录主要管理文件的版本变化信息,也称之为 Git 软件的版本仓库目录。

具体操作过程如下:

  • 我们首先通过指令进入到指定文件目录
    在这里插入图片描述
  • 执行指定的指令,创建文件版本库

git init

在这里插入图片描述

  • 版本库创建成功后,会在目录中创建.git目录,用于管理当前版本库。
    在这里插入图片描述
向版本库中添加文件

查看版本库状态指令:

git status

此时文件属于 untracked files(未追踪文件),只有文件被纳入版本库管理后,Git 软件才能对文件修改后的不同版本内容进行追踪处理,也就是 tracked files

纳入版本库的管理指令:

git add test.txt

此时文件状态为 cached file暂存状态,可以随时修改或删除。

确定要把文件放入版本库中,还需要执行确定提交指令:

commit 表示真正地纳入到版本库中

-m 表示提交时的信息(message),是必须输入的。用于描述不同版本之间的差别信息

git commit -m “my first git file”

查看当前提交指令:

git show

修改版本库文件

原则上操作顺序应该是:

先修改,再提交

git add test.txt

git commit

简化后的操作为:

git commit -a -m “update file”

这个指令操作多了个 -a 参数,等同把增加、修改两步操作融合

查看版本库文件历史
  1. 采用 log 指令进行查看

git log

  1. 也可以美化一下显示方式

git log --pretty=oneline

  1. 简单方式查看

git log --oneline

删除文件

删除不是指从物理文件目录中删除,而是从版本库中删除。

  • 从本地文件从目录中删除
  • 查看 Git 版本库状态信息
  • 使用指令从版本库中恢复文件

git retore test.txt

如果想要真正的删除文件,那么也要将版本库中同时删除。

恢复历史文件
  • 查看版本库信息
  • 将版本库重置到某个版本

#这里的f2f113f就是版本Hash值,用于唯一确定版本库中此版本的标记

# 当然了这是一个简短版,完整的比较长

# 如果不记得具体的版本值,版本值也可以使用HEAD值,比如最新的上一个版本:HEAD^

# 如果后退更多的版本,可以使用 HEAD~N

git reset --hard f2f113f

  • 被删除的文件回来了。

最后

对各位小伙伴有帮助的话,希望可以点赞❤️+收藏⭐,谢谢各位大佬~~🙌🙌🙌

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/14288.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

任务调度原理 通俗讲解详细(FreeRTOS)

寄存器说明 以cortex-M3,首先先要了解比较特别的几个寄存器: r15 PC程序计数器(Program Counter),存储下一条要执行的指令的地址。 r14 LR连接寄存器(Link Register ),保存函数返回地址&#x…

Rancher 部署 Elasticsearch 8.5.1 版本服务

前言 从 es7 升级到 es8 之后,启动容器默认启用了 ssl 安全传输配置,但是在 Rancher 中部署的话,需要挂载 pvc 实现 data、logs 等目录持久化,启用 ssl 需要对证书等进行操作,非常麻烦,非常坑。 本文以启…

bitset(位图)的使用与模拟实现

bitset(位图) 位图引入bitset的使用bitset(位图)的模拟实现bitset类各函数接口总览bitset类的实现构造函数set、reset、flip、testsize、countany、none、all打印函数 位图引入 问:给40亿个不重复的无符号整数&#xf…

AlgoC++第三课:C++世界观

目录 C世界观前言1. 程序逻辑2. 内存的逻辑3. 调度的逻辑4. 编译的逻辑5. 作用域的逻辑6. 命名空间的逻辑7. 生命周期的逻辑8. C类的逻辑9. 编译时和运行时的逻辑总结 C世界观 前言 手写AI推出的全新面向AI算法的C课程 Algo C,链接。记录下个人学习笔记&#xff0c…

Vue+Vant封装通用模态框单选框组件

前言 我们知道,在vant组件中提供的组件往往是比较基础的,能够满足基本需求。但是我们想实现ui设计的一些比较丰富效果的组件,需要自己去实现,且当项目中多次用到的时候,我们将以组件化的思想将其封装起来,…

Linux服务器出现503 服务不可用错误怎么办?

​  HTTP 503 服务不可用错误代码表示网站暂时不可用。无论您是网站访问者还是管理员,503 页面都很麻烦。尽管该错误表明存在服务器端问题,但对于访问者和网络管理员来说,有一些可能的解决方案。本文将解释Linux服务器出现503 服务不可用错…

scratch足球射门练习 中国电子学会图形化编程 少儿编程 scratch编程等级考试一级真题和答案解析2023年3月

目录 scratch足球射门练习 一、题目要求 1、准备工作 2、功能实现 二、案例分析

【网络安全】红队基础免杀

引言 本文主要介绍“反射型 dll 注入”及“柔性加载”技术。 反射型 dll 注入 为什么需要反射型 dll 注入 常规的 dll 注入代码如下: int main(int argc, char *argv[]) {HANDLE processHandle;PVOID remoteBuffer;wchar_t dllPath[] TEXT("C:\\experime…

分享几个国内免费的ChatGPT镜像网址(亲测有效-4月25日更新)

最近由于ChatGPT的爆火也让很多小伙伴想去感受一下ChatGPT的魅力,那么今天就分享几个ChatGPT国内的镜像网址,大家可以直接使用!记得点赞收藏一下呦! 1、AQ Bot,网址:点我 https://su.askaiw.com/aq 缺点&…

面试篇:Redis

一、缓存穿透 1、缓存穿透 查询一个不存在的数据,mysql查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库。即:大量请求根本不存在的key 2、查询流程 3、出现原因 业务层误将缓存和库中的数据删除了,也可能是有人恶…

JUC-多线程(12. AQS-周阳)学习笔记

文章目录 1. 可重入锁1.1. 概述1.2. 可重入锁类型1.3. Synchronized 可重入实现机理 2. LockSupport2.1. LockSupport 是什么2.2. 3种线程等待唤醒的方法2.2.1 Object 的等待与唤醒2.2.2. Condition接口中的等待与唤醒2.2.3. 传统的 synchronized 和 Lock 实现等待唤醒通知的约…

【手把手做ROS2机器人系统开发一】开发环境搭建

【手把手做ROS2机器人系统开发一】开发环境搭建 目录 【手把手做ROS2机器人系统开发一】开发环境搭建 一、专栏介绍: 二、开发环境搭建: 1.Ubuntu系统安装 2.ROS2系统环境安装 3.测试系统运行 一、专栏介绍: 大家好,今天给大家…

栈的基本操作(C语言实现)创建,销毁,入栈,出栈

前言 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的…

同样是测试,朋友到了30k,我才12K,这份测试面试8股文确实牛

程序猿在世人眼里已经成为高薪、为人忠诚的代名词。 然而,小编要说的是,不是所有的程序员工资都是一样的。 世人所不知的是同为程序猿,薪资的差别还是很大的。 众所周知,目前互联网行业是众多行业中薪资待遇最好的,…

Fedora 38 正式发布

Fedora Linux 38 正式发布,用户可以访问官网下载安装最新版本。 新网站 如果你点击了上面的官网链接,你应该会注意到 Fedora 的官网看起来与之前有了很大不同。这是 Fedora Websites & Apps 团队与 Design & Infrastructure 团队以及广大社区合作…

【视频课程】算法工程师需要的ChatGPT大模型算法理论与实践课程!非粗浅科普...

前言 自从2022年11月ChatGPT发布之后,迅速火遍全球。其对话的交互方式,能够回答问题,承认错误,拒绝不适当的请求,高质量的回答,极度贴近人的思维的交流方式,让大家直呼上瘾,更是带火…

安装配置SVN版本控制管理工具

SVN工具能帮我们做什么? 核心功能:文档版本管理系统 适合对象:个人与团队都可以使用,企业中项目资源的重要管理工具 举例:一个文件夹里面的文档管理 1.下载安装SVN服务器 VisualSVN-Server 2.下载安装SVN客户端 T…

<网络编程>网络套接字

目录 理解源IP地址和目的IP地址 认识端口号 端口号和进程ID的关系 理解源端口号和目的端口号 初步认识TCP、UDP协议 TCP协议 UDP协议 网络字节序列 socket网络接口 socket常见API sockaddr结构 UDPsocket 编码: 理解源IP地址和目的IP地址 源IP&#xf…

Jupyter Notebook的安装与使用

Jupyter Notebook Jupyter Notebook介绍Jupyter Notebook使用安装启动创建文件编写代码和文本常用命令配置文件 Anaconda Jupyter Notebook介绍 Jupyter Notebook是一个基于Web的交互式计算环境,可以让用户以文档形式记录代码、数据分析结果和说明文本,并…

从零开始的ChatGLM 配置详细教程

从零开始的ChatGLM配置教程 文章目录 从零开始的ChatGLM配置教程一,前言二,环境配置1、下载ChatGLM项目2、配置程序运行环境 三、在HuggingFace下载chatGLM-6B模型1,安装 Git Lfs2,下载相关文件3,在HuggingFace中下载相…