【Git】常用命令详解(循序渐进,逐步分析)

article/2025/4/8 2:22:37

目录

一、Git常用命令

1.1、设置用户签名

1.2、初始化本地库

1.3查看本地库状态

1.3、添加文件到暂存区

1.4、将暂存区文件添加文件到本地库

1.5、查看历史版本(提交历史记录)

1.6、修改文件

1.7、版本穿梭


一、Git常用命令

1.1、设置用户签名

git config --global user.name "用户名"
git config --global user.email 邮箱

配置权限:

1. local(优先级最高):默认,只影响本地;

2. global (优先级中等) :影响当前用户的git仓库;

3. system (优先级最低) :印象到全系统的git仓库;

注意:首次下载git一定要进行设置,否则后续提交代码会出错;这里的邮箱不一定需要真实邮箱,可以是一个虚拟邮箱;

执行效果:

通过如下路径

找到如下文件打开,便可以看到刚刚的配置效果; 


1.2、初始化本地库

git init 

使用方法:

 


1.3查看本地库状态

先来介绍以下git中的两个状态:

1.内容状态:表示内容文件的改变,有三个区域,分别是 工作区、暂存区、提交区;

2.文件状态:有两个,已跟踪和未跟踪;

关系如下:

如何查看本地库状态?命令如下: 

git status

使用效果

解释:

On branch master:表示当前在master(默认)这个分支下;

No commits yet:表示当前还没有提交过任何东西,是一个空的库;

nothing to commit :表示没有东西需要提交(该目录下没有可提交的文件);如果通过vim创建了一个test.txt文件,再查看本地库状态,就如下图

那如何把本地文件添加到暂存区呢?往下看~


1.3、添加文件到暂存区

//添加文件内容到暂存区(同时文件被跟踪)
git add 文件名 + 后缀
//添加所有文件
git add .

执行效果:(将文件test.txt添加的到暂存区)

         这里有一个警告是怎么回事呢?实际上就是我们test文件中的内容换行符是用的CRLF,而linux下需要使用LF;实际上,这个警告不用担心,因为他会帮你自动转换的;

接下来使用git status 查看状态就会发现:(如下图)

         这里就表示test.txt放入暂存区中了;当然,如果你想把他从暂存区删除掉(只是删掉了暂存区的,工作区的还是存在的),上一行命令也提示你了,可以使用"git rm --cached <file>..."来删除;

添加的暂存区,接下来需要干什么呢?往下走~


1.4、将暂存区文件添加文件到本地库

通过这个操作,就可以把代码提交到本地库,形成自己的历史版本;

//从暂存区中提交
git commit -m 'first commit' 暂存区中的文件名+后缀
//扩展:从工作区提交
git commit -a -m 'full commit' 工作区中的文件名+后缀

         'first commit' 这里的日志可以根据自己情况所写;

执行效果如下:

        蓝框里的 6fc5174 就表示当前提交的版本号(精简版,后文有介绍完整版);

这时候本地库状态是什么样的呢?如下执行效果

 nothing to commit, working tree clean :这里就表示,没有东西可以提交了,工作已经清理完成;

1.5、查看历史版本(提交历史记录)

//查看历史提交版本信息
git reflog
//查看历史提交版本的详细信息
git log

执行效果如下:

        这里的first commit是当时你提交时候所写的日志信息~ 

        (HEAD  ->  master)就表示指向的当前版本;


1.6、修改文件

如何修改已经提交了的文件呢?

这里作者已经修改过的文件,如下

通过git status查看本地库状态如下

        这里就会提示你,文件已经是被修改过的了,并且又放到了工作区(标红了)

 通过git add 和 git commit提交文件,最后查看本地库信息,就发现已经清理干净了~

通过git reflog查看提交版本信息就可以观察到,上面两次提交的结果,如下:


1.7、版本穿梭

先来简单了解一下什么是版本穿梭~

简单来讲就是当前提交版本,你觉得写的并不好(还没有上一个提交版本写的好),就可以通过版本穿梭,穿梭到上个版本!

//git reset   将当前分支回退到历史某个版本
git reset --mixed 版本号 //(默认)
git reset --soft 版本号
git reset --hard 版本号 Ps:
--mixd表示只保留工作区状态,暂存区会被重置
--soft表示工作区和暂存区都保留
--hard表示工作区和暂存区都被重置总结: 它们均有移动 HEAD 指针的能力,但是它们对于工作区与暂缓区的处理却是不同的。

那就演示一下,将刚刚修改的test,txt的第二个版本回退到第一个版本,如下~

 查看提交日志,如下

(HEAD  ->  master)就表示当前版本指向;

底层原理:

        git 控制版本信息,并不是通过复制粘贴内容创造副本实现的,而是在内存中记录了很多版本信息,最后通过调用指针来指向不同的版本;

注意:

        版本穿梭不光可以穿梭到以前的版本,还可以穿梭到以后的版本~



http://chatgpt.dhexx.cn/article/cbiiDfhc.shtml

相关文章

windows大多数的弹窗提示内容是可以复制的(我们主要用于报错内容复制粘贴去百度)

现在以记事本保存时候的弹窗为例&#xff0c;用鼠标点击弹窗的任意位置&#xff0c;然后CtrlC&#xff0c;然后在新的记事本中可以粘贴这个提示内容了。如下图粘贴效果 1.大多数弹窗适用 2.主要用于把“报错内容”复制粘贴去百度 找解决方案

vscode 编辑特效 文字爆炸效果插件

1、在vscode应用扩展商店下载Power Mode插件 2、在vscode最左下角打开设置 在搜索框输入settings.json {"files.autoSave": "off","workbench.colorTheme": "Visual Studio Light","[json]": {"editor.quickSuggestio…

初始C语言——完数问题

问题描述&#xff1a; 描述&#xff1a;一个数如果恰好等于它的因子之和&#xff08;除本身以外&#xff09;&#xff0c;这个数就成为“完数”。例&#xff1a;6的因子为1&#xff0c;2&#xff0c;3&#xff0c;而6123&#xff0c;因此6是完数。找出1000以内的所有完数。 代…

C语言_求完数

2020年9月5日 11:11:31 /*一个数如果恰好等于它的因子之和&#xff0c;这个数就称为“完数”。例如 61&#xff0b;2&#xff0b;3&#xff0c; 编程找出 1000 以内的所有完数。 */ 两种方法&#xff1a; 方法一的年代比较久远&#xff0c;而且算法思维比较复杂和抽象&#x…

1000以内完数c语言程序_C语言完数编程题目详解

首先看一下完数的概念&#xff1a;完数&#xff0c;即完美数&#xff0c;一个数如果恰好等于除它本身外的因子之和&#xff0c;这个数就称为完数。例如61&#xff0b;2&#xff0b;3.(6的因子是1,2,3) 题目概要&#xff1a;请写一个C语言程序&#xff0c;要求输入一个数字n输出…

C语言完数计算

完数定义&#xff1a;如果一个数等于它的因子之和 例如:6123 编程工具&#xff1a;codeblocks #include<stdio.h> #include<stdlib.h> #include<math.h> void main() {int sum;//所有因子的的和int arr[20] { 0 };//声明一个数组用来存储所有的因子int n;…

C语言入门——1000以内的完数

完数定义 如果一个数恰好等于它的真因子之和&#xff0c;则称该数为“完全数” [2] 。各个小于它的约数&#xff08;真约数,列出某数的约数&#xff0c;去掉该数本身&#xff0c;剩下的就是它的真约数&#xff09;的和等于它本身的自然数叫做完全数&#xff08;Perfect numbe…

C语言———求”完数“

一个数如果恰好等于它的因子之和&#xff0c;这个数就称为 "完数 "。例如61&#xff0b;2&#xff0b;3&#xff0c;编程找出1000以内的所有完数。 分析过程 所谓完数&#xff0c;就是其因子之和&#xff08;不包括自己本身&#xff09;等于其本身&#xff0c;称其…

[C语言] [试题详解] 求1000之内的所有 完数

题目>>> 一个数如果恰好等于它的因子之和&#xff0c;这个数就称为“完数”。 例如&#xff0c;6的因子为1、2、3&#xff0c;而6&#xff1d;1&#xff0b;2&#xff0b;3&#xff0c;因此6是“完数”。 编程序找出1000之内的所有完数&#xff0c;并…

车载行车记录仪EMC浪涌防护方案图

客户向东沃技术寻求帮助&#xff0c;具体事情是这样的&#xff1a;客户公司自己生产的车载行车记录仪&#xff0c;在DC电源端口测试时&#xff0c;有故障&#xff0c;发生了小概率DC芯片损坏的。具体如下图所示&#xff1a; 案例分析 客户原理图如下&#xff1a; 根据客户原…

出门在外,你需要一个行车记录仪

5月3日下午&#xff0c;一段行车记录仪视频在网上疯传。在这段仅有35秒钟的视频里&#xff0c;一名身穿黑色上衣、白色短裤的男子&#xff0c;开车将一名长发女子逼停&#xff0c;当街殴打。女司机被暴打至骨折脑震荡&#xff0c;身上多处淤青。这段视频曝光后&#xff0c;引起…

锐动SDK应用于行车记录仪

方案架构 手机端直播与录播功能忠实记录旅途中各种突发事件&#xff0c;还原事实真相&#xff0c;与家人和朋友分享沿途美景&#xff0c;一同感受美妙之旅。 强大的视频编辑功能&#xff0c;像编辑图片一样给视频添加各种滤镜&#xff0c;配音&#xff0c;配乐&#xff0c;标题…

行车记录仪数据删除如何恢复?

10月&#xff0c;公安部交通管理局权威发布&#xff0c;截至2018年9月&#xff0c;全国机动车保有量达3.22亿辆&#xff1b;机动车驾驶人达4.03亿人。随着机动车和驾驶人数量的增加&#xff0c;交通事故和机动车交通事故责任纠纷案件也在逐年上涨。 部分案件常常因没有目击证人…

行车记录仪的21条问答

行车安全越来越受到人们的重视&#xff0c;许多车主开始打算为自己的座驾配备一款高清行车记录仪&#xff0c;但大家在购买的过程中有各种疑问&#xff0c;下面就行车记录仪的21个问题从技术角度进行分析&#xff0c;希望对大家有所帮助! 1. 问&#xff1a;选择1296p还是1080p?…

凌度记录仪mov视频恢复修复方法

凌度记录仪听名字应该也是个小厂的产品&#xff0c;不过让人感到惊奇的是对于音频编码其采用了高清格式&#xff0c;这个和目前常见的aac压缩编码形成了对比&#xff0c;因为高清音频虽然效果好&#xff0c;但是占用的空间更大。由于这个案例存在部分覆盖的情况&#xff0c;所以…

android 行车记录仪分析,基于Android架构行车记录仪的异常掉电可播放视频方法与流程...

本发明涉及摄录像视频技术领域&#xff0c;特别涉及一种基于Android架构行车记录仪的异常掉电可播放视频方法。 背景技术&#xff1a; 随着车联网概念的兴起和技术的积累&#xff0c;越来越多的智能设备被接入到车辆上。行车记录仪作为非常重要的一种车载设备形态&#xff0c;越…

行车记录仪android,车叮咚:一款搭载 Android 系统的行车记录仪是怎样的?

市面上关于行车记录仪、OBD 盒子以及车机系统的产品有很多品类&#xff0c;但是大多功能单一&#xff0c;可是如果将以上三种功能进行整合并且以后视镜形态出现的话&#xff0c;会有人感兴趣吗&#xff1f; 这款产品叫做车叮咚&#xff0c;创始人张昊告诉雷锋网(公众号&#xf…

嵌入式系统在物联网中的应用及架构

如果说其他技术涉及到的是物联网的某个特定方向&#xff0c;如感知、计算、通信等。嵌入式系统则是物联网中各种物品的表现形式。 首先要谈一下关于架构 在接触嵌入式之后&#xff0c;就出现了一系列的XX架构之类的狼虎之词&#xff0c;什么物联网架构、互联网架构、智能手机的…

【毕设项目】 基于stm32的四轴飞行器设计 - 物联网 嵌入式 单片机

1 简介 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍一个学长做的单片机项目 基于stm32的四轴飞行器设计 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/12540…

【毕业设计】基于 stm32 的病房呼叫系统 - 物联网 嵌入式 单片机

文章目录 1 简介2 绪论2.1 课题背景 3 系统设计3.1 系统架构3.2 主程序设计3.3 语音模块程序设计3.4 显示模块程序设计3.5 键盘模块程序设计3.6 无线传输模块程序设计3.7 部分实现代码 4 最后 1 简介 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介…