Git的命令学习——适用小白版

      浅要了解一下Git是什么:

       Git是目前世界上最先进的的分布式控制系统。Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。Git 并不保存这些前后变化的差异数据实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。

      Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。

一、创建版本库

       在D盘下 目录下新建一个GiTtext版本库。右键通过命令行的方式打开窗口:

输入linux命令:git init 把这个目录变成git可以管理的仓库,如下:

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

此时GiTtext目录下多了一个.git目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。

输入:ll .git/查看内容信息:

二、在库中添加、修改文件

都是以linux命令为基础。首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

1创建文件readme.txt, 此刻文件在工作区(WorkSpace)

输入命令:vi readme.txt 创建文件

并进入到txt文件内:

2修改txt文件内容

输入i就进入编辑模式,可以输入“hello world” 。保存并退出,点击Esc再输入英文版“:wq”。查看txt文件信息:cat readme.txt

3通过git status可以查看文件追踪的情况:

4 使用命令 git add readme.txt添加到暂存区里面去:

查看此时文件状态:

 

如果要提交多个文件,我们可以在add后面指定文件的列表。输入:git add test2.txt test3.txt

如果想要添加工作区所有文件到暂存区,输入:git add .

5 撤销1.4命令回到工作区,输入:git rm --cached readme.txt

再次查看文件状态:

 三、提交文件到主分支:git commit -m 'first commit'

现在我们已经提交了一个readme.txt文件了注意:注释是必须要写的】但是发现报错了,我们需要设置Gitee的email和名字

命令如下:

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
将引号里的内容修改为你对应的邮箱和姓名

再次输入 git commit -m 'first commit',可以得到:

查看状态:

即现在已经没有文件未提交。 情况如下:

 我们下面可以通过命令git status来查看是否还有文件未提交

四、修改已提交到暂存区的文件

在文件中加入一行update 1。查看git的状态——文件又进入到工作区

这段 Git 输出的意思是:

1)当前处于 master 分支,且该分支还没有任何提交记录

2)存在未跟踪的文件 readme.txt(未被 Git 纳入版本控制)

3)Git 提示可以通过 git add readme.txt 将这个文件添加到暂存区(Staging Area)

 提交修改后的文件,依次输入


# 将 readme.txt 文件添加到暂存区
git add readme.txt
# 将暂存区的内容提交到本地仓库,并添加描述信息
git commit -m 'update 1 commit'

 

查看状态,已不在工作区:

 想撤销这些修改并恢复到之前的状态时,可以使用命令:git checkout -- readme.txt

五、版本回退

1.日志查看:git log

这表示这是一次更新操作的提交。

如果嫌上面显示的信息太多的话,我们可以使用命令 git log  pretty=oneline 。

2.版本回退和撤销

2.1版本回退

我想把当前的版本回退到上一个版本,可以使用如下2种命令,

git reset --hard HEAD^

那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 。

可以发现出现错误,是因为我就提交过一次。那我进行修改再提交再看,即版本回退成功

 查看日志,按理来说日志中原来有第二次提交的信息,但是没有,所以回退成功: 同时我们也可以通过sha1的前四位来做回退:git reset –heard sha1

2.2回退撤销

可以通过命令即可获取到版本号:git reflog

通过上面的显示我们可以知道,增加内容update 2的版本号是21feb0f。我们现在可以命令:

git reset --hard 21feb0f,输出如下:

查看文件,已恢复:

 查看日志:

六 、删除文件

查看添加的文件:

想要删除readme.txt ,使用命令:git rm readme.txt。查看:

我们发现删除的文件直接进入暂存区(此刻需要注意,如果使用rm删除不在暂存区,需要git add才会进入暂存区。如果进入暂存区可以退回工作区,使用命令: git reset HEAD test.txt

七、Git配置信息Config

1.config概述

在git中,我们使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类:

1、仓库级别 local 【优先级最高】

2、用户级别 global【优先级次之】

3、系统级别 system【优先级最低】

git 仓库级别对应的配置文件是当前仓库下的.git/config 

git 用户级别对应的配置文件是用户宿主目录下的~/.gitconfig

git系统级别对应的配置文件是git安装目录下的 /etc/gitconfig

我们可以在cmd命令提示符中输入以下查看配置信息:git config --local -l,如下:

git config --global -l

git config --system -l

2.config修改

修改用户名和邮箱:

git config --global user.name "***"

git config --global user.email "****@**.com"

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

充电桩快速搭建springcloud(微服务)+前后端分离(vue),客户端实现微信小程序+ios+app使用uniapp(一处编写,处处编译)

充电桩管理系统是专为中小型充电桩运营商、企业和个人开发者设计的一套高效、灵活的管理平台。系统基于Spring Cloud微服务架构开发,采用模块化设计,支持单机部署与集群部署,能够根据业务需求动态扩展。系统前端使用uniapp框架,可…

Unity光照之Halo组件

简介 Halo 组件 是一种用于在游戏中创建光晕效果的工具,主要用于模拟光源周围的发光区域(如太阳、灯泡等)或物体表面的光线反射扩散效果。 核心功能 1.光晕生成 Halo 组件会在光源或物体的周围生成一个圆形光晕,模拟光线在空气…

【cocos creator】热更新

一、介绍 试了官方的热更新功能,总结一下 主要用于安卓包热更新 参考: Cocos Creator 2.2.2 热更新简易教程 基于cocos creator2.4.x的热更笔记 二、使用软件 1、cocos creator v2.4.10 2、creator热更新插件:热更新manifest生成工具&…

深度评测阿里云操作系统控制台:功能全面,体验卓越!

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ 阿里云操作系统控制台 操作系统控制台操作系统实践体验服务的开通创建ESC实例组件管理功能体验:节点健康系统诊断系统观测订阅管…

Spring Boot 解析 LocalDateTime 失败?Uniapp 传输时间变 1970 的原因与解决方案

目录 前言1. 问题分析2. 时间戳(推荐,可尝试)3. 使用 JsonDeserialize & JsonSerialize(中立)4. 前端传 ISO-8601 格式(不推荐,可尝试)5. 用 String(中立&#xff09…

【vitepress】如何搭建并部署自己的博客网站

文章目录 新的改变旧的github.io地址,现在不用更新netlify托管之后为这个 一 如何搭建[1]:安装vitepress初始化Vitepress启动项目 二 如何部署[2]视频教程 [3] 新的改变 旧的github.io地址,现在不用 https://dl-hx.github.io/myBlog/ 更新netlify托管之后为这个 https://dl…

Cursor新版0.47.x发布

0.47.x - 可靠性、键盘快捷键与提前体验选项功能 本次更新主要聚焦于稳定性和性能改进,以确保现有功能更好地运行。 新功能与改进 键盘快捷键:所有键盘快捷键现在都可以在键盘快捷键菜单中找到。前往 设置 > 键盘快捷键 来修改或添加新的快捷键。 …

docker 小记

一、卸载 查看当前版本 docker -v2. 如果有,先停止docker systemctl stop docker如果是yum安装,卸载方式为 #已防版本冲突,直接卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-lat…

XGBoost介绍

XGBoost:是eXtreme Gradient Boosting(极端梯度提升)的缩写,是一种强大的集成学习(ensemble learning)算法,旨在提高效率、速度和高性能。XGBoost是梯度提升(Gradient Boosting)的优化实现。集成学习将多个弱模型组合起来,形成一个…

Aliyun CTF 2025 web ezoj

文章目录 ezoj ezoj 进来一看是算法题,先做了试试看,gpt写了一个高效代码通过了 通过后没看见啥,根据页面底部提示去/source看到源代码,没啥思路,直接看wp吧,跟算法题没啥关系,关键是去看源码 def audit_checker(even…

大数据hadoop课程笔记

1.课程导入 柯洁 Alpha Go是人工智能领域的里程碑。 深度学习 大模型deepseek chatgpt 大模型 和 大数据 之间有着非常紧密的关系。可以说,大数据是大模型发展的基石,而大模型是大数据价值挖掘的重要工具。 https://youtu.be/nN-VacxHUH8?sifj7Ltk…

Pandas数据清洗实战之清洗猫眼电影

本次案例所需要用到的模块 pandas(文件读取保存 操作表格的模块) 将上次Scrapy爬取下来的文件 做个数据清洗 变成我们想要的数据 确定目的:将此文件中的duration字段中的分钟 和publisher_time上映去掉 只保留纯数值 数据清洗题目如下: 修复 publish_time列中的错…

UDP-网络编程/socket编程

一,socket相关接口 1,socket 我们来介绍socket编程的第一个接口:socket,它需要用到的头文件如图: 其中domain表示域或者协议家族: 本次我就用AF_INET(ipv4)来做演示 type参数表示…

《人月神话》:软件工程的成本寓言与生存法则

1975年,Fred Brooks在《人月神话》中写下那句振聋发聩的断言——“向进度落后的项目增加人力,只会让进度更加落后”——时,他或许未曾料到,这一观点会在半个世纪后的人工智能与云原生时代,依然如达摩克利斯之剑般悬在每…

ROS云课基础题库-01C++案例-甜甜圈

效率是核心,但效率高的教程会忽略掉非常多的细节。 解决问题的思路和细节对于一个问题的有效求解至关重要。 资料 云课五分钟-02第一个代码复现-终端甜甜圈C-CSDN博客 从云课五分钟到五秒钟焦虑的甜甜圈向前冲-CSDN博客 说明 复现重要性没有那么大,…

Oracle RHEL 5.8 安装 - 呆瓜式

前言 Red Hat Enterprise Linux Server release 5.8 为企业级 SO 镜像。绝大部分企业如果使用Oracle数据库均会使用其企业版 OS ,能够很好的支持数据库的运行 文档目的 当前文档仅针对 VMware Workstation Pro 进行 OS 介质安装。 镜像下载地址 注意&#xff1…

【数据分析大屏】基于Django+Vue汽车销售数据分析可视化大屏(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅

目录 一、项目背景 二、项目创新点 三、项目功能 四、开发技术介绍 五、项目功能展示 六、权威视频链接 一、项目背景 汽车行业数字化转型加速,销售数据多维分析需求激增。本项目针对传统报表系统交互性弱、实时性差等痛点,基于DjangoVue架构构建…

软件IIC和硬件IIC的主要区别,用标准库举例!

学习交流792125321,欢迎一起加入讨论! 在学习iic的时候,我们经常会遇到软件 IC和硬件 IC,它两到底有什么区别呢? 软件 IC(模拟 IC)和硬件 IC(外设 IC)是两种实现 IC 总线通信的方式…

CSS-三大特性,盒子模型,圆角边框,盒子阴影,文字阴影

一、 CSS 的三大特性 CSS 有三个非常重要的三个特性:层叠性、继承性、优先级。 1.层叠性 相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突 的问题 层叠性原则: 样式冲突,遵循的原…

基于 Qwen2.5-14B + Elasticsearch RAG 的大数据知识库智能问答系统

AI 时代,如何从海量私有文档(非公开)中快速提取精准信息成为了许多企业和个人的迫切需求。 本文介绍了一款基于 Qwen2.5-14B 大语言模型(换成 DeepSeek 原理一致)与 Elasticsearch 搜索引擎构建的大数据知识库智能问答…