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

相关文章

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 文件夹所在的目

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复