Git高手必备:掌握这些指令,轻松玩转版本控制(一)

2024-09-01 17:12

本文主要是介绍Git高手必备:掌握这些指令,轻松玩转版本控制(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

注:本文下的+除非特殊声明,否则一律不作为实际加号,仅表示连接

所有的版本控制系统,只能跟踪文本文件的改动比如txt文件,网页,所有程序的代码等,能清楚的知道改动了什么。但是类似于图片、视频这类的二进制文件,git也可以进行版本管理,但是git只能告诉你这两个二进制文件有不同(比如用大小去观测,大小不同两个文件肯定有改动),但是不能告诉我们他们之间具体的差异 

1.在D盘目录下创建名为GitTest文件夹

右键该文件夹点击显示更多选项,选择Git Bash Here,

打开命令行

 

2.使用git init 把GitTest目录变成git管理的仓库

这时会生成.git文件,这个目录是Git来跟踪管理版本的,不要手动修改这里面的文件,否则会把git仓库给破坏了(如果看不到见下图打开查看隐藏的项目)

3.pwd命令显示当前目录 

显示当前目录为D盘下的GitTest 

4. ll -a 列出当前目录下所有文件或文件夹(包含隐藏的文件和目录 隐藏的以"."开头)

 ll .git 列出(.git)目录下所有的文件和目录

5.vi+文件名 编辑文档 esc退出编辑 :wq保存 

输入vi git1.txt  创建文档进入该页面

点击“i”进入编辑模式(下标显示插入) ,并输入“Hello,World”

敲“esc”键,插入下标消失,按“:wq” 并敲回车,保存退出编辑 ,返回原界面

6.cat+文件名 显示文档内容

 

7.git status 用于显示当前工作树的状态

可以列出修改但是未添加到暂存区的文件、已经添加到暂存区等待提交的更改等

这时我们可以发现现在位于主分支上,过往没有任何提交,而git1.txt 此时位于工作区

 8.git add+文件名 将修改的文件添加到暂存区

(工作区文档名是红色的,暂存区是绿色的) 

git add . 添加所有文件到暂存区    git add 文件名 文件名, 添加指定文件到缓存区

 

9.git commit -m "..." 进行提交,"-m"后面的是提交信息  

 注意:这个信息是给自己看的备注,是一定要写的

10.git rm --cached +文件名 将指定文件回退到工作区 

输入 git rm --cached git1.txt ,下面出现暂缓区执行删除操作,git1.txt到工作区

11.git config --global user.name "..." 全局设置你的用户名

git config --global user.email "..." 全局设置你的邮箱

12.git log 版本日志,可以查看每一次的提交。 

每一个版本都有独属于自己的sha1值,一般我们操作的时候只取前四位

这里进行了两次提交,箭头所指就是每一个提交的sha1值(跟身份证差不多,唯一识别身份) 

13.git reset --hard HEAD^ 回退到上一个版本

git reset --hard HEAD~n 回退到上n个版本 

因为sha1值是唯一的,我们也可以通过sha1值的前四位,回退到指定的版本。

git reset --hard ****(sha1值前四位)

回退版本之后我们可以查看文件内容 使用指令cat+文件名

14.git rm +文件名 将指定文件放到暂存区(待删除)

这时我们再用git commit -m +“备注” 成功提交删除操作 

查看当前目录

我们发现git1.txt文件没了,在文件资源管理器中也找不到

注意,git管理下的目录或文件最好不要直接通过文件资源管理器直接删除,要通过git命令来删除 

这篇关于Git高手必备:掌握这些指令,轻松玩转版本控制(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Go语言使用slices包轻松实现排序功能

《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态:

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目