从0开始学Git指令

从0开始学Git指令

因为网上的git文章优劣难评,大部分没有实操展示,所以打算自己从头整理一份完整的git实战教程,希望对大家能够起到帮助!

初始化一个Git仓库,使用git init命令。

在这里插入图片描述

添加文件到Git仓库,分两步:
  1. 使用命令git add ,注意,可反复多次使用,添加多个文件;
    在这里插入图片描述
  2. 使用命令git commit -m ,完成。
    在这里插入图片描述
  3. 我们开始修改test1.txt文件,向里面添加一些内容(初始时是空)
    在这里插入图片描述
    现在,保存之后运行git status命令看看结果:

在这里插入图片描述

根据提示现在我们有俩种选择:
  • git add : 添加到暂存区
  • git commit -a : git commit -a 命令表示将所有已经跟踪的文件的修改一起提交到版本库中。这个命令会自动将所有已经跟踪的文件的修改添加到暂存区,然后提交这些修改。这样就可以省略git add命令,直接提交所有已经跟踪的文件的修改。
Git告诉我们tet1.txt被修改了,但不知道具体修改了什么内容,想要清楚的知道的话,需要用git diff这个命令看看:

在这里插入图片描述
可以很清楚的看到添加了一句自我介绍~

接下来使用上面提到的俩种选择将修改提交到2版本库中
  1. git add : 添加到暂存区
    在这里插入图片描述
    (git add .):之前提到的是将所有文件都添加到暂存区,这次指定文件名称
    让我们看看status的状态变化:
    在这里插入图片描述
    在这里插入图片描述
  2. 提交到版本库
    在这里插入图片描述
    2.git commit -a : git commit -a 命令表示将所有已经跟踪的文件的修改一起提交到版本库中。这个命令会自动将所有已经跟踪的文件的修改添加到暂存区,然后提交这些修改。这样就可以省略git add命令,直接提交所有已经跟踪的文件的修改。(我们继续修改一下test1.txt文件)
    在这里插入图片描述
    要随时掌握工作区的状态,使用git status命令。
    在这里插入图片描述
    使用git commit -a 直接提交
    在这里插入图片描述
    如果我们现在想知道我们之前每一次都在test.txt提交修改的内容,我们可以使用git log命令查看:
    在这里插入图片描述
    如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数:
    在这里插入图片描述
如果现在2023年了,php是世界上最好的语言? 我不敢苟同,Java永远的神,所以我想回退到在test1.txt添加;自我介绍的那个版本,需要怎么做?

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

现在,我们要把当前版本回退到上一个版本,就可以使用git reset命令:

在这里插入图片描述

git reset --hard 命令中的 --hard 表示重置的模式。在这个模式下,git会重置暂存区和工作目录到指定的提交,同时丢弃所有未提交的修改。这意味着任何未提交的修改都将被永久丢弃,包括工作目录中的所有文件的修改和暂存区中的内容。

让我们使用git log命令再次查看:
在这里插入图片描述
可以发现最新的版本已经没有了,将来的某一天,php死灰复燃 浴火重生,想要回退到之前那个怎么办,(有人说,修改txt文件呀),我不愿意~,我就要回退
办法其实还是有的,只要上面的命令行窗口还没有被关掉,我们可以找到前面的commit id
在这里插入图片描述
我们再次使用 git reset --hard
在这里插入图片描述
果然,我PHP又回来了。
版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,也只是改变了Git中HEAD的指向

现在,你回退到了某个版本,关掉了电脑,git窗口关闭,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?

我们必须找到PHP的commit id,Git提供了一个命令git reflog用来记录你的每一次命令:
在这里插入图片描述
我们就找到了添加全世界最好的语言的commit id

总结一下:

初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

使用命令git add <file>,注意,可反复多次使用,添加多个文件;
使用命令git commit -m <message>,完成。

要随时掌握工作区的状态,使用git status命令。

如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

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

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

相关文章

Vue.js 教程

Vue.js&#xff08;读音 /vjuː/, 类似于 view&#xff09; 是一套构建用户界面的渐进式框架。 Vue 只关注视图层&#xff0c; 采用自底向上增量开发的设计。 Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。 阅读本教程前&#xff0c;您需要了解的…

万德高科携手航天科技AIRIOT打造智慧能碳管理平台, 助力碳达峰碳中和

“十四五”时期&#xff0c;我国生态文明建设进入了以降碳为重点战略方向、推动减污降碳协同增效、促进经济社会发展全面绿色转型、实现生态环境质量改善由量变到质变的关键时期。“实施数字化赋能行动”&#xff0c;聚焦能源管理、节能降碳、低碳能力等典型场景&#xff0c;推…

node实现简单的数据爬虫

前言 我使用的是墨迹天气的页面&#xff0c;因为这个使用的链接简单 页面结构简单并且大都是文字形式 第一步 打开墨迹天气网址 随便点开一个页面 点击F12或者鼠标右键点击检查 查看页面的信息 分析页面内容 使用文字所在的class和标签来定位 编写代码 配置express环境 …

EasyExcel 导出文件的格式化

阿里开源的这个库&#xff0c;让 Excel 导出不再复杂&#xff08;既要能写&#xff0c;还要写的好看&#xff09; 之前聊了 EasyExcel 的内容导出&#xff0c;本文主要说一下导出文件的格式化&#xff0c;格式化包括工作表/单元格样式和内容格式化。毕竟&#xff0c;有时候还是…

Opencv入门五 (显示图片灰度值)

源码如下&#xff1a; #include <opencv2/opencv.hpp> int main(int argc, char** argv) { cv::Mat img_rgb, img_gry, img_cny; cv::namedWindow("Example Gray",cv::WINDOW_AUTOSIZE); cv::namedWindow("Example Canny", cv::WINDOW_…

ruoyi若依前后端分离版部署centos7服务器(全)

目录 VMware虚拟机 centos7 安装环境如下 一、msql 5.7 二、nginx1.23.3 三、java8 四、redis 3.2.1 五、部署若依前端 六、部署若依后端 前言 虚拟机的桥接与nat模式 : 重点 重点&#xff01;&#xff01;&#xff01; 无线不可以用桥接模式 &#xff0c;而你用了nat模式会…

苹果cms模板MXone V10.7魔改版源码/ 苹果cms主题源码/苹果cmsv10模板MXone自适应模板/全开源无授权无加密

源码简介&#xff1a; 苹果cms模板MXone V10.7魔改版源码、苹果cms主题源码&#xff0c;作为苹果cmsv10模板MXone自适应模板&#xff0c;它是全开源无授权无加密。二开优化修复开源版影视网站源码。 MXone自适应模板&#xff0c;苹果cms v10开源无授权无加密电影网站模板。原…

Html / CSS刷题笔记

WebKit是一个开源的浏览器引擎&#xff0c;它最初是由苹果公司开发的&#xff0c;并且被广泛用于Safari浏览器和其他基于WebKit的浏览器&#xff0c;比如Google Chrome的早期版本。它也是构建许多移动设备浏览器的基础。WebKit的主要功能是解析HTML和CSS&#xff0c;并将其渲染…

SQL---Zeppeline前驱记录与后驱记录查询

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

前后端实现解析用户请求ip地址

前言 在我的软件系统中,如果希望安全系数高一些的话,往往会有用户登陆行为表来记录用户登陆行为,保障用户账号安全,比如记录登陆地址,每次登陆时候读取数据最近几次登陆地点,进行账号安全验证 假如以下是我的用户登陆行为表 实现获取用户登陆地址的方法有很多种,比如通过前端整…

听GPT 讲Rust源代码--src/tools(18)

File: rust/src/tools/rust-analyzer/crates/ide-ssr/src/from_comment.rs 在Rust源代码中的from_comment.rs文件位于Rust分析器&#xff08;rust-analyzer&#xff09;工具的ide-ssr库中&#xff0c;它的作用是将注释转换为Rust代码。 具体来说&#xff0c;该文件实现了从注…

机器学习 | 概率图模型

见微知著&#xff0c;睹始知终。 见到细微的苗头就能预知事物的发展方向&#xff0c;能透过微小的现象看到事物的本质&#xff0c;推断结论或者结果。 概率模型为机器学习打开了一扇新的大门&#xff0c;将学习的任务转变为计算变量的概率分布。 实际情况中&#xff0c;各个变量…

java easyexcel上传和下载数据

安装依赖 easyexcel官方文档 <!--通过注解的方式导出excel--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.1</version></dependency>注意踩坑&#xff1a;easyexcel会…

Linux服务器 部署飞书信息发送服务

项目介绍&#xff1a; 飞书信息发送服务是指将飞书信息发送服务部署到一个Linux服务器上。飞书是一款企业级的即时通讯和协作工具&#xff0c;支持发送消息给飞书的功能。通过部署飞书信息发送服务&#xff0c;可以方便内网发送信息给外网飞书。 项目代码结构展示&#xff1a; …

51单片机(STC8)-- 串口配置及串口重定向(printf)

文章目录 STC8串口概述串口寄存器配置串口1控制寄存器SCON串口1数据寄存器SBUF串口1模式 1工作方式串口1波特率计算方式 串口注意事项串口1通信demo串口重定向 STC8串口概述 由下图可知STC8H3K64S4带有4个4个串行通信接口&#xff0c;芯片名后两位S所带的数字即代表这款芯片带…

用户管理第2节课--idea 2023.2 后端--实现基本数据库操作(操作user表) -- 自动生成

一、插件 Settings... 1.1 File -- Settings 1.2 Settings -- Plugins 1.2.1 搜索框&#xff0c;也可以直接搜索 1.3 Plugins -- 【输入 & 搜索】mybatis 1.3.1 插件不同功能介绍 1.3.2 翻译如下 1.4 选中 Update&#xff0c;更新下 1.4.1 更新中 1.4.2 Restart IDE 1…

华为全屋wifi6蜂鸟套装标准

华为政企42 华为政企 目录 上一篇华为安防监控摄像头下一篇华为企业级无线路由器

STM32CubeMX驱动ST7789

环境 1、单片机:STM32F103C8T6 2、开发平台&#xff1a;STM32CUBEMXkeil mdk 3、屏幕&#xff1a;ST7789&#xff0c;分辨率240*240 STM32配置 1、使用硬件SPI1驱动屏幕。配置如下&#xff1a; 2、屏幕控制引脚配置&#xff1a; 注意&#xff1a;只配置了DC,RST,CS这3个控…

重塑数字生产力体系,生成式AI将开启云计算未来新十年?

科技云报道原创。 今天我们正身处一个历史的洪流&#xff0c;一个巨变的十字路口。生成式AI让人工智能技术完全破圈&#xff0c;带来了机器学习被大规模采用的历史转折点。 它掀起的新一轮科技革命&#xff0c;远超出我们今天的想象&#xff0c;这意味着一个巨大的历史机遇正…

人工智能对网络安全的影响

技术的快速发展带来了不断增长的威胁环境&#xff0c;网络犯罪分子和恶意行为者利用我们互联世界中的漏洞。在这个数字时代&#xff0c;数据泄露和网络攻击呈上升趋势&#xff0c;仅靠传统的安全措施已经不够了。人工智能 &#xff08;AI&#xff09; 的进步彻底改变了网络安全…