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

news/2024/4/24 21:32:51/

在这里插入图片描述

本篇文章旨在分享本人在学习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

  • 被删除的文件回来了。

最后

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


http://www.ppmy.cn/news/47808.html

相关文章

go错误处理

func test() {num1 : 10num2 : 0result : num1 / num2fmt.Println("result", result)} func main() {test()for {fmt.Println("运行完毕! main 下面的代码")time.Sleep(time.Second)}}在默认情况下,当发生错误后(panic) ,程序就会…

Cookie 和 Session

文章目录 一、会话跟踪技术二、CookieCookie基本使用Cookie原理Cookie使用细节 三、SessionSession基本使用Session原理Session使用细节总结 四、实现用户登录 一、会话跟踪技术 会话:用户打开浏览器,访问web服务器的资源,会话建立&#xff…

自定义模型训练

文章目录 自定义模型&训练1. Define the Model2. Define Optimizer and Loss3. Evaluate Untrained Model4. Define Metrics5. Apply Gradients6. Train Loop7. Validation Loop8. Main loop 自定义模型&训练 在一些场景下,使用tensorflow默认的训练过程无法…

RPC通信

一、RPC通信 1、什么是RPC? RPC(Remote Procedure Call)远程过程调用,允许像调用本地服务一样调用远程服务。在整个过程中,RPC 会隐藏具体的通信细节。RPC是一种通信方式,可以通过HTTP来实现,也…

图像分类算法:ResNet论文解读

图像分类算法:ResNet论文解读 前言 ​ 其实网上已经有很多很好的解读各种论文的文章了,但是我决定自己也写一写,当然,我的主要目的就是帮助自己梳理、深入理解论文,因为写文章,你必须把你所写的东西表达清楚…

【Linux】-关于Linux的指令(上)

作者:小树苗渴望变成参天大树 作者宣言:认真写好每一篇博客 作者gitee:gitee 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧! TOC 前言 今天我们来讲关于Linux的基本指令,博主讲的指令会对应着Windows…

CLIP 论文解读

文章目录 模型训练推理 实验与Visual N-Grams 相比较分布Shift的鲁棒性 不足参考 现有的计算机视觉系统用来预测一组固定的预订对象类别,比如ImageNet数据集有1000类,CoCo数据集有80类。这种受限的监督形式限制了模型的通用性和可用性。使用这种方法训练…

ClickHouse同步MySQL数据

目录 1 概述1.1 特点1.2 使用细则 2 案例实操2.1 MySQL 开启 binlog 和 GTID 模式2.2 准备 MySQL 表和数据2.3 开启 ClickHouse 物化引擎2.4 创建复制管道2.5 修改数据2.6 删除数据2.7 删除表 1 概述 MySQL 的用户群体很大,为了能够增强数据的实时性,很多…

Nmap入门到高级【第二章】

预计更新Nmap基础知识 1.1 Nmap简介和历史 1.2 Nmap安装和使用方法 1.3 Nmap扫描技术和扫描选项 Nmap扫描技术 2.1 端口扫描技术 2.2 操作系统检测技术 2.3 服务和应用程序检测技术 2.4 漏洞检测技术 Nmap扫描选项 3.1 扫描类型选项 3.2 过滤器选项 3.3 探测选项 3.4 输出选项…

Python OpenCV 蓝图:1~5

原文:OpenCV with Python Blueprints 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,你最好真…

一文吃透Http协议

Http 协议 1. 初始 Http Http 协议 , 是应用层最为广泛使用的协议 , Http 就是浏览器和服务器之间的桥梁. Http 是基于 TCP 协议实现的 , 通常我们输入搜索框中的网址 (URL) , 浏览器就会根据这个 URL 构造出一个 Http 请求 , 发送给服务器. 服务器就会返回一个 Http 响应(包…

Vue 消息订阅与发布

消息订阅与发布,也可以实现任意组件之间的通信。 订阅者:就相当于是我们,用于接收数据。 发布者:就相当于是媒体,用于传递数据。 安装消息订阅与发布插件: 在原生 JS 中 不太容易实现消息订阅与发布&…

C语言的Hello World的汇编剖析(64位 Intel架构)

C语言的Hello World的汇编剖析(64位 Intel架构) 文章目录 C语言的Hello World的汇编剖析(64位 Intel架构)一. 前提准备二. C转换为汇编操作准备2.1 创建目录&复制代码2.2 C文件转换为汇编文件 三. 剖析汇编文件四. 指令相关五…

DevOps系列文章 - K8S知识体系

环境搭建部分: 1、安装前的准备工作 # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld# 查看hostname并修改hostname # 查看本机hostname hostnamectl set-hostname k8s-master # 把本机名设置成k8s-master hostnamectl status # 查看修改结…

精通 Python OpenCV4:第二部分

原文:Mastering OpenCV 4 with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,你最好真…

【Chano的SFM教程】3dmax 面部表情.VTA基本制作教程

本篇教程作者为:小鸟Chano,转载请表明作者和出处:CSDN 欢迎观看本次教程 本教程将会为你演示使用3D MAX 制作一个基本的SFM表情控制器【表情滑条】并导入SFM进行使用。 Chano自己也是近期才掌握的这项知识,所以过程中可能有很多…

netfilter filter表

iptables是linux下常用的一个防火墙软件,可以实现对网络访问的各种限制。iptables相当于防火墙的客户端,与用户进行交换,其后台依赖于内核的netfilter模块。iptables的各种配置,最终都是netfilter模块来实现的。 iptables分为4个…

李沐读论文笔记--大模型时代下做科研的四个思路

大模型时代下做科研的四个思路 0. 视频来源:1. 提高效率(更快更小)1.1 PEFT介绍(parameter efficient fine tuning)1.2 作者的方法1.3 AIM效果1.3.1AIM 在 K400 数据集上的表现1.3.2AIM 在 Something-Something 数据集、K700 数据集和 Diving…

Liunx下进程间通信

文章目录 前言1.进程间通信相关介绍2.管道1.匿名管道2.管道的原理3.通过代码来演示匿名管道4.命名管道5.命名管道的原理6.命名管道代码演示 3.System V共享内存1.共享内存原理2.相关系统接口的介绍与共享内存的代码演示3.共享内存的一些特性 4.system V消息队列与system V信号量…

【设计模式】从Mybatis源码中学习到的10种设计模式

文章目录 一、前言二、源码:学设计模式三、类型:创建型模式1. 工厂模式2. 单例模式3. 建造者模式 四、类型:结构型模式1. 适配器模式2. 代理模式3. 组合模式4. 装饰器模式 五、类型:行为型模式1. 模板模式2. 策略模式3. 迭代器模式…