GIT基本的命令

文章目录

        • 04.GIT本地操作-初始化工作区
          • 内容
          • 小结
        • 05.GIT本地操作-add与commit
          • 目标
          • 内容
          • 小结
        • 06.GIT本地操作-差异比较
          • 目标
          • 内容
          • 小结
        • 07.GIT本地操作-版本回退
          • 目标
          • 内容
          • 小结
        • 08.GIT本地操作-修改撤消
          • 目标
          • 内容
          • 小结
        • 09.GIT本地操作-总结


在这里插入图片描述

04.GIT本地操作-初始化工作区
内容
  • 初始化工作区

    在这里插入图片描述

    • 工作区 就是你在电脑里能看到的目录。比如我们刚刚创建的learn-Git目录,在最初使用的时候,我们需要初始化当前的文件夹为工作区

    • 如何初始化工作区

      命令:git init 初始化
      

      在要被初始化工作区的目录右键,选择 Git Bash Here

输入 git init
在这里插入图片描述

在文件夹中机会出现一个隐藏文件 .git 如图

在这里插入图片描述

当我们在文件夹中添加文件的时候,那么这个文件就会被 Git 所管理

  • 查看状态

我们在 该目录中创建一个 readme.txt 文件,并使用 vim 命令进入编辑模式添加内容:第一行代码。可以通过命令来查看它的状态

命令:git status 查看状态

在这里插入图片描述

红色代表当前没有提交到缓存区

小结
  • 如何初始化工作区

    git init 初始化成功的标志是有一个.git的隐藏目录

  • 如何查看文件状态

    git status

  • 进入文件编辑模式 linux系统

vim 文件名然后 按 字母 i(前) a(后) o(下一行)插入数据然后按esc退出====最后按 :wq保存退出。

  • 查看文件内容:cat 文件名 linux系统

05.GIT本地操作-add与commit
目标

​ 可以使用 git add 将文件添加到暂存区,使用git commit 提交到本地仓库

内容

在这里插入图片描述

  • 工作区提交缓存区

    在git控制台中使用 命令

    命令:git add readme.txt 
    

    在这里插入图片描述

    这是完成了将文件由工作区提交暂存区

    我们通过 git status 来查看状态

    在这里插入图片描述

    发现这时文件变成绿色,可以提交到本地仓库

  • 缓存区提交本地仓库

    命令:git commit -m '第一次提交' 
    说明:-m 后面跟随的是为你提交的备注,m是单词message信息的首字母提交信息格式:增删改查第几次提交
    

    在这里插入图片描述

    注意:如果第一次提交需要填写如下内容:

    命令:git config --global user.email '123456@qq.com'
    说明:指定邮箱
    命令:git config --global user.name 'xiaowang'
    说明:指定操作者
    
小结
  • 说一下 git add 的作用

    将工作区的文件添加到暂存区

  • 说一下 git commit 的作用

    将文件从暂存区提交到本地仓库 git commit -m '信息'

  • 扩展:

    添加多个文件  git add [file1] [file2] ...
    添加指定目录到暂存区,包括子目录  git add [dir]
    添加当前目录下的所有文件到暂存区,不包括被删除的文件  git add .     重要
    add 时,一个个文件加比较麻烦,可以用下面的命令将所有变动的文件同步至暂存区(新增、修改、删除)
    git add -A
    下面的命令是将所有修改和删除的文件同步至暂存区,不包括新增文件
    git add -u
    

06.GIT本地操作-差异比较
目标

​ 使用 git diff 来比较暂存区、本地库与工作区的内容

内容

使用 vim 命令,对 readme.txt 文件进行编辑,添加我是第二行代码,使用:wq退出

在这里插入图片描述

在这里插入图片描述

  • 工作区暂存区比较

    命令:git diff readme.txt
    

    在这里插入图片描述

  • 工作区本地库比较

    命令:git diff HEAD readme.txt
    

    在这里插入图片描述

  • 暂存区本地库比较

    命令:git diff --cached readme.txt
    

    在这里插入图片描述

    这里缓存区和本地库没有不同所以没有内容

  • 补充:可以第二次提交到暂存区和本地仓库

小结
  • 工作区与暂存区如何比较

    git diff 文件名

  • 工作区与本地库如何比较

    git diff HEAD 文件名

  • 暂存区与本地库如何比较

    git diff --cached 文件名


07.GIT本地操作-版本回退
目标

​ 掌握 git log、git reflog、git reset 作用

内容

当我们从暂存区提交到本地仓库时,发现当前的提交的版本有问题,希望回退到指定版本如何操作呢?

在这里插入图片描述

使用vim命令编辑readme.txt,添加“我是第三行代码”

在这里插入图片描述

命令:git add readme.txt 提交到暂存区

在这里插入图片描述

命令:git commit -m '第三次提交' 提交到本地仓库

我们可以通过git提供的查看日志命令来查看提交的日志

命令:git log  查看当前提交日志

图略.

可以发现,目前为止,我们已经在本地仓库中提交了3次,也就是说有3个不同版本。其中,最近的这个版本有一个标示:HEAD-> master 这就是标记当前分支的当前版本所在位置,如果没有显示当前所在位置可以使用下面命令查看:

命令:git log --decorate  查看当前提交日志,且显示当前分支的当前版本所在位置

在log中,每一个版本的前面,都有一长串随即数字: ab44a10787c2db2bccd7ceb9c39dcf06d309065518d4b ,这是每次提交的 commit id ,这是通过SHA1算法得到的值,Git通过这个唯一的id来区分每次提交

  • 回退到之前版本

    命令:git reset --hard HEAD^回归到上一个版本,Git通过HEAD来判断当前所在的版本位置。那么上一个版本,就用HEAD^标示,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。 
    

    这时我们可以在查看一下日志 git log

    图略

    发现只有两个版本,我们在查看一下文件内容

    图略

  • 回退到指定版本

    图略

    首先使用

    命令: git reflog 查看所有操作
    

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    找到之后可以使用如下命令进行回退到指定版本

    命令:git reset --hard 版本号 回退到指定版本
    

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    我们回到第三次提交,这时我们在查看文件

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

小结
  • 如何查看当前日志

    git log 只能看到当前操作

  • 如何查看所有操作日志

    git reflog 查看所有操作日志

  • 如何回退到上一个版本

    git reset --hard head^

  • 如何回退到指定版本

    git reset --hard 版本号

08.GIT本地操作-修改撤消
目标

​ 掌握 git checkout、git reset head作用

内容

在这里插入图片描述

当我们工作区内容想要提交到缓存区时【add】,突然发现有问题,想要撤销该如何处理?

当我们已提交到缓存区的内容,发现出现了bug,这时又应该如何处理哪?

以上操作我们可以使用GIT提供的撤销命令来完成

  • 工作区撤销修改

    编辑readme.txt添加“我是第四行”

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    在你提交缓存区前,你突然发现这个修改是有问题的,你打算恢复到原来的样子。怎么办?

    使用 git status 命令查看当前状态

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    命令:git checkout  文件名称 撤销工作区修改
    

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    我们撤销后,在查看文件中内容,发现工作区内容已经撤销,并查看状态,发现状态很干净

  • 暂存区撤销修改

    使用 vim 命令 编辑readme.txt添加“我是第五行”

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    使用git add提交文件至暂存区

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    撤销到工作区

    命令:git reset HEAD readme.txt 撤销到工作区
    

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    工作区撤销 git checkout readme.txt

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    我们在查看文件,发现已经恢复到最初始样子

小结
  • 如何实现工作区撤销修改

    git checkout 文件名

  • 如何撤销缓存区内容

    git reset HEAD 文件名

09.GIT本地操作-总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 初始化工作区 git init
  • 查看状态 git status
  • 提交
    • 工作区提交暂存区 git add 文件
    • 暂存区提交本地库 git commit -m ‘提交信息’
  • 差异比较
    • 工作区缓存区比较 git diff 文件名
    • 工作区本地库比较 git diff HEAD 文件名
    • 缓存区与本地库比较 git diff --cached 文件名
  • 版本回退
    • 查看日志 git log
    • 回退到上一个版本 git reset --hard head^
    • 查看所有操作日志 git reflog
    • 回退到指定版本 git reset --hard 版本号
  • 修改撤消
    • 工作区撤消 git checkout 文件名
    • 撤消缓存区(从缓存区撤销到工作区) git reset head 文件名


在这里插入图片描述



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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java对象大小计算

概述 在实际应用中,尤其是在进行JVM调优时,理解并正确估计对象大小是非常重要的,因为这直接影响到内存分配、垃圾回收效率以及应用程序的整体性能。 对象的组成 在Java中,计算一个对象的大小是为了了解它在内存中占用的确切空间…

第十五天-爬虫项目实战

目录 1.介绍 2.代码 1.main.py 2.PageSider.py 3.DetailSpider.py 4.DataParse.py 5.Constant.py 6.HanderRequest.py 1.介绍 1. 使用多线程爬取网站 2.爬取数据后保存至excel 3.爬取网站(仅做测试)网创类项目爬取:https://www.maomp.com/ 4..实现效果 …

元数据优化:提升您的网站在搜索引擎中的表现

前言 在之前的文章中,我们探讨了如何通过超链接来提高用户在网站的使用体验。本篇将聚焦于元数据的优化,揭示它如何成为提升网站曝光率和点击率的秘密武器。 一、介绍 元数据,或称之为数据的数据,在网页开发中占据着不可忽视的角…

IPD MM流程之业务策略工具:安索夫矩阵

IPD市场管理流程,华为内部称为“MM流程”(Market Management,MM)。华为市场管理是通过对市场和细分市场的分析,制定细分市场的策略,形成商业计划,把商业计划落实在日常工作当中。MM流程其中一个…

git根据文件改动将文件自动添加到缓冲区

你需要修改以下脚本中的 use_cca: false 部分 #!/bin/bash# 获取所有已修改但未暂存的文件 files$(git diff --name-only)for file in $files; do# 检查文件中是否存在"use_cca: false"if grep -q "use_cca: false" "$file"; thenecho "Ad…

qt5-入门-使用拖动方式创建Dialog

参考: C GUI Programming with Qt 4, Second Edition 本地环境: win10专业版,64位,Qt5.12 目录 实现效果基本流程逐步实操1)创建和初始化子部件2)把子部件放进布局中3)设置tab顺序4&#xff09…

jstat命令查看jvm的GC信息

文章目录 前言jstat命令查看jvm的GC信息1. 概述2. 应用堆内存水位阀值大小怎么确定3. 使用 jps 命令查看 Java 进程的进程号(PID)![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5097401443314e9d808a83b694dbc6e5.png)4. jstat用法5. 类加载…

UE4 Niagara 关卡3.1官方案例解析二

自己尝试做做,打乱顺序 1、新建空的niagara system,添加空的发射器。更换渲染器为网格体渲染器并添加网格体。 2、发射器更新里面添加Spawn Rate,发射个粒子看看 效果图: 3、采样静态网格体,网格体粒子出生于静态网格…

【排序算法】基数排序

一:基本概念 1.1 基数排序(桶排序)介绍 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是…

【图说】电脑发展史

免责声明:文中有一些图片来源自网络,如有版权请通知我删除,谢谢! “结绳记事”是计算的开端 如果说“结绳记事”仅是计数,那么“算筹”就是真正的计算工具 算盘也是我们老祖宗的杰出发明,最擅长“加减乘除”,包括但不限于乘方、开方、对数等。还能进行开发智力的“珠心算…

鼠标失灵怎么办?电脑出现鼠标失灵的详细处理方法介绍

无论是笔记本电脑还是台式机电脑,鼠标是必不可少的外设之一,而我们在使用电脑的过程中,经常回遇到鼠标突然失灵了,不听使唤,控制不了,接下小编来与大家一起分享,遇到这种情况我们该怎么办 有时…

C语言学习笔记(二)

C语言学习 学习笔记(一) 学习笔记(二) 文章目录 C语言学习一、C语言中的数据类型进制二进制八进制十六进制进制转换表 单位换算寻址 数据类型基本类型整数类型整数的有符号和无符号实数类型字符型 构造类型指针类型空类型总结 常量直接常量符号常量转义符 符号常量…

Python并发编程:多线程-GIL全局解释器锁

一 引子 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势首先:需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比c是一套…

协议(网络协议)

HTTP/HTTPS 协议 HTTP 实际上是个缩写,英文全称是:Hyper Text Transfer Protocol (超文本传输协议)。 最常用的网页(也叫web页)就是一种超文本的具体表现形式。HTTPS (全称:Hyper …

ICASSP2024 | ICMC-ASR 车载多通道语音识别挑战赛总结

为促进驾驶场景中语音处理和识别研究,在ISCSLP 2022上成功举办智能驾驶座舱语音识别挑战 (ICSRC)的基础上,西工大音频语音与语言处理研究组 (ASLPNPU)联合理想汽车、希尔贝壳、WeNet社区、字节、微软、天津大学、南洋理工大学以及中国信息通信研究院等多…

EMO在哪体验?阿里对口型视频生成工具EMO下载地址?阿里巴巴新模型EMO的技术原理

这几天,阿里的对口型视频生成工具EMO火了。根据官方宣传,EMO只需要上传一张图片和一段音频就可以一键生成对口型视频,而且视频中的嘴型还可以与声音匹配。这项技术支持多语言、对话、唱歌以及快速语速的适配,但也可能成为制造虚假…

pip降级在pycharm中

PyCharm依赖于"–build-dir"参数安装第三方库,但该参数在最新的23.0版pip中已删除 解决办法就是降级pip,PyCharm中选择File,找到编译器,点击pip,勾选对应版本即可 或者在cmd中执行运行python -m pip install…

基于centos的linux上docker安装,及mysql、redis等应用在docker容器中的安装

Docker环境安装 安装yum-utils: yum install ‐y yum‐utils device‐mapper‐persistent‐data lvm2为yum源添加docker仓库位置: yum‐config‐manager ‐‐add‐repo https://download.docker.com/linux/centos/docker‐ce.repo如果上面执行命令后…

Linux系统中的高级多线程编程技术

在Linux系统中,多线程编程是一种常见的并发编程模型,通过利用多线程可以实现程序的并发执行,提高系统的性能和响应速度。在Linux系统中,开发人员通常使用 pthread 库来进行多线程编程,同时需要掌握线程同步技术以避免并…

JVM(4)

垃圾回收问题 垃圾回收算法 通过之前的学习我们可以将死亡对象标记出来了,标记出来后我们就可以进行垃圾回收操作了,在正式学习垃圾处理器之前,我们先来看一下垃圾回收器使用的几种算法. 标记-清除算法 "标记-清除"算法是基础的收集算法.算法分为"标记"…