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

相关文章

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

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