Git基本操作(1)

news/发布时间2024/5/16 6:32:30

Git基本操作(1)

  • 初始化git本地仓库
  • git本地仓库配置
    • git config user.name 和git config user.email
    • git config --unset user.name和git config --unset user.email
    • git config --global
  • 认识工作区,暂存区,版本库
    • 更深层次理解
  • git add + 文件名
  • git commit -m "描述信息"
  • git log 查看日志信息

前面我们配置了git还有远程仓库,今天我们来了解一下git的基本操作。

初始化git本地仓库

首先,我们在装好git之后,我们就要初始化一个git仓库,我们可以用命令行git init来初始化一个git本地仓库,首先我们创建一个文件夹:
在这里插入图片描述
我们进入到gitcode文件夹,使用git init命令:
在这里插入图片描述
我们查看隐藏文件,发现如果出现 .git,就表明我们成功创建了一个git的本地仓库。
我们看看这个.git下有哪些文件:
在这里插入图片描述
这下面的文件都是非常重要的,不要轻易修改。

git本地仓库配置

git config user.name 和git config user.email

我们有了本地仓库之后,我们可以对我们的这个本地仓库进行一个基础的配置——配置邮箱和用户名:
我们可以先用git config -l查看我们当前的配置:
在这里插入图片描述
我们可以为当前的本地仓库设置专属的用户名和邮箱,使用git config user.name “Your name”
git config user.email “Your email” :
在这里插入图片描述
我们发现下面两行就是这个仓库的专属的邮箱和用户。

git config --unset user.name和git config --unset user.email

此时如果我们想取消这个邮箱和用户,我们可以使用git config --unset user.namegit config --unset user.email解除当前的git仓库的用户和邮箱:
在这里插入图片描述

git config --global

如果我们一台机器上的所有的本地仓库都会往一个用户和邮箱去提交,我们可以把这个设置成全局的,只需要带上–global:

git config [--global] user.name "Your Name"
git config [--global] user.email "email@example.com"

取消设置也是一样的:

git config [--global] --unset user.name
git config [--global] --unset user.email

认识工作区,暂存区,版本库

现在我们在gitcode这个文件夹下创建一个文件:
在这里插入图片描述
我在gitcode下创建了一个My_file的文件,好了,现在的问题是这是候git可以管理这个文件吗?答案是不行。

其实,我们这个gitcode下的这个隐藏的.git文件就是我们的版本库,什么叫版本库呢?其实很简单,就是我们可以通过git对我们文件的修改进行跟踪,而跟踪的结果会由这个.git的隐藏文件进行管理。

在这里插入图片描述

好了现在我们了解了工作区,我们还得清楚一个概念——工作区
什么叫工作区呢?说的直白一点,就是一个包含.git文件的文件夹,比如我的gitcode这个文件夹包含了.git,这个时候,我的gitcode就是一个工作区,我在gitcode这个工作区创建了My_file文件。
在这里插入图片描述
如果我们想让git管理My_file文件,我们就要让My_file文件进入到版本库中,但是请注意,我们不能直接在.git文件夹下创建文件,这是绝对不允许的。那我们应该怎么办呢?我们先来看一张图:
在这里插入图片描述
通过这张图,我们大概知道,首先我们要进行add操作让文件进入stage(暂存区index)然后再用commit操作把文件交到master分支,才算把文件交到了版本库中。这时候git才能管理这个文件。

更深层次理解

其实我们除了上面的三个板块,我们还有一个板块叫对象库
在这里插入图片描述
我们工作区的任何改动会交到这个对象库中,然后暂存区储存的不是真实的对象,而是指针,指针会指向对象库中对象:
在这里插入图片描述
然后commit操作会把暂存区中东西接到master分支中(通过HEAD指针),同时master上也有指向对象库中对象的指针:
在这里插入图片描述
这样git可以对我们的文件进行管理了。
我们可以把.git文件的结构看看,对应我们所说的部分。
在这里插入图片描述
我们好像没有看到暂存区的部分,那是因为我们这个git仓库是新建的,还没有进行任何的add,commit操作,暂时还不会显示出来,我们可以把我们的My_file文件上交一下:
在这里插入图片描述
这下我们看到了暂存区了。

git add + 文件名

之前铺垫这么多,这下可以讲一下git的操作了,我们先来我们最熟悉的一个git add +文件名比如我想把My_file上交:
在这里插入图片描述
后面也可以接多个文件名:
在这里插入图片描述
也可以git add .,这里这个点的意思就是把当前文件夹下所有修改过的文件都交到暂存区中:
在这里插入图片描述

git commit -m “描述信息”

我们在add之后,就要把文件交到master上,这步的操作是git commit -m “描述信息”,这里的-m + “描述信息”,不能省,这里我们-m就是日志信息,对于我们进行版本控制非常重要。
在这里插入图片描述

git log 查看日志信息

我们可以用git log查看日志信息:
在这里插入图片描述
我们看到commit的后面有一串字符串,这个是上交时的关键信息,也是进行版本控制的重要信息。

如果嫌弃这么多的信息过于累赘,我们可以带上选项 –pretty=oneline
在这里插入图片描述

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

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

相关文章

【Rust敲门砖】 Windows环境下配置及安装环境

一、安装C环境 rust底层是依赖C环境的连接器,所以需要先安装C/C编译环境, 有两种选择:安装微软的msvc或者安装mingw/cygwin。 如果使用msvc的Visual Studio,只需要安装好C/C编译环境,然后一路默认就行了,缺点是体积比较大,下载安…

【vue3学习笔记】customRef;provide与inject;响应式数据的判断

尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 课程 P161节 《customRef》笔记 通过实现一个小例子来学习customRef:在输入框中输入内容时,底下的h3标签延迟一秒同步显示输入框中输入的内容。 customRef使用方法:调用customRef方法时&…

正则表达式(拓展)、grep(拓展)和sed

一、正则表达式 egrep默认使用的是扩张正则。 表示次数 *匹配前面字符任意数?0次或者1次1次或者多次{n}匹配n次{m,n}最少m次,最多n次{,n}匹配前面的字符最多n次{n,}匹配前面的字符最少n次 表示分组 ()分组将多个字符捆绑在一起当作一个整体处理\1、\2后…

Java SE 入门到精通—基础语法【Java】

敲重点! 本篇讲述了比较重要的基础,是必须要掌握的 1.程序入口 在Java中,main方法是程序的入口点,是JVM(Java虚拟机)执行Java应用程序的起始点。 main方法的方法签名必须遵循下面规范: publ…

林浩然与杨凌芸的Java List大冒险

林浩然与杨凌芸的Java List大冒险 Lin Haoran and Yang Lingyun’s Java List Adventure 在一个阳光明媚的日子,程序员界的“侠客”林浩然和他那聪明伶俐的同事兼好友杨凌芸正在Java王国里进行一场别开生面的大冒险。这次他们的目标是征服两个强大的List家族成员——…

Vue 中 onclick和@click区别

文章目录 一、直接上结论二、验证代码&#xff0c;可直接运行三、点击结果 一、直接上结论 onclick 只能触发 js的原生方法&#xff0c;不能触发vue的封装方法click 只能触发vue的封装方法&#xff0c;不能触发js的原生方法 二、验证代码&#xff0c;可直接运行 <!DOCTYP…

Mac M2芯片配置PHP环境

Mac M2芯片配置PHP环境 1. XAMPP2. PHPBrew(PHP版本管理)安装php7.4.33版本 3. 直接使用homebrew 安装php环境参考 1. XAMPP 官网地址 https://www.apachefriends.org/ 安装 安装完成 web server打开后&#xff0c;在打开localhost 成功&#xff01; 2. PHPBrew(PHP版本管…

JMeter 配置元件之按条件读取CSV Data Set Config

实践环境 win10 JMeter 5.4.1 需求描述 需求是这样的&#xff0c;需要压测某个接口(取消分配接口)&#xff0c;请求这个接口之前&#xff0c;需要先登录系统(物流WMS系统)&#xff0c;并在登录后&#xff0c;选择并进入需要操作的仓库&#xff0c;然后请求接口&#xff0c;…

数据结构-邻接矩阵

介绍 邻接矩阵&#xff0c;是表示图的一种常见方式&#xff0c;具体表现为一个记录了各顶点连接情况的呈正方形的矩阵。 假设一共有以下顶点&#xff0c;其连接关系如图所示 那么&#xff0c;怎么表示它们之间的连接关系呢&#xff1f; 我们发现&#xff0c;各条边所连接的都…

中科大计网学习记录笔记(十二):TCP 套接字编程

前前言&#xff1a;大家看到这一章节的时候一定不要跳过&#xff0c;虽然标题是编程&#xff0c;但实际上是对 socket 的运行机制做了详细的讨论&#xff0c;对理解 TCP 有很大的帮助&#xff1b;但是由于本节涉及到了大量的编程知识&#xff0c;对于一些朋友来说不是很好理解&…

Linux守护进程和会话

守护进程&#xff1a; 守护进程也叫精灵进程&#xff0c;是Linux中的后台服务进&#xff0c;通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事情。一般采用以d结尾的名字。 Linux后台的一些系统服务进程&#xff0c;没有控制终端&#xff0c;不能直接和用户…

2024年及以后在您的项目中使用的最佳CSS框架

在过去几年中&#xff0c;CSS已经取得了长足的进步。在过去&#xff0c;您可能会使用CSS来创建依赖于HTML表格和CSS浮动作为其布局系统的简单外观的Web应用程序。而现在&#xff0c;您可以设计复杂的交互式用户界面&#xff0c;具有优雅的设计。 尽管CSS变得越来越先进&#x…

【数据库】达梦数据库DM8开发版安装

目录 一、达梦数据库概述 1.1 达梦数据库简介 1.2 产品特性 1.3 产品架构 二、安装前准备 2.1 新建 dmdba 用户 2.2 修改文件打开最大数 2.3 挂载镜像 2.4 新建安装目录 2.5 修改安装目录权限 三、数据库安装 3.1 命令行安装 3.2 配置环境变量 四、配置实例 4.1…

自动驾驶中的 DCU、MCU、MPU、SOC 和汽车电子架构

自动驾驶中的 DCU、MCU、MPU 1. 分布式电子电气架构2. 域集中电子电气架构架构2.1 通用硬件定义 3. 车辆集中电子电气架构4. ADAS/AD系统方案演变进程梳理4.1 L0-L2级别的ADAS方案4.2 L2以上级别的ADAS方案 5. MCU和MPU区别5.1 MCU和MPU的区别5.2 CPU与SoC的区别5.3 举个例子 R…

java面试题之SpringMVC篇

Spring MVC的工作原理 Spring MVC的工作原理如下&#xff1a; DispatcherServlet 接收用户的请求找到用于处理request的 handler 和 Interceptors&#xff0c;构造成 HandlerExecutionChain 执行链找到 handler 相对应的 HandlerAdapter执行所有注册拦截器的preHandler方法调…

Redis 单个与多节点如何实现分布式锁

分布式锁 在许多环境中&#xff0c;分布式锁是非常有用的原语&#xff0c;在这些环境中&#xff0c;不同的进程必须以互斥的方式操作共享资源。在应对并发问题时&#xff0c;Redis 客户端还可以通过加锁的方式&#xff0c;来控制并发写操作对共享数据的修改&#xff0c;从而保…

数据分析 — Matplotlib 、Pandas、Seaborn 绘图

目录 一、Matplotlib1、折线图2、柱状图3、水平条形图4、直方图5、散点图6、饼图 二、pandas1、折线图2、柱状图 三、seaborn1、散点图2、箱线图3、直方核密度图4、成对图 一、Matplotlib Matplotlib 是一个用于绘制数据可视化图形的 Python 库。它提供了丰富的绘图工具&#…

从零开始学习Netty - 学习笔记 - NIO基础 - 文件编程:FileChannel,Path,Files

3.文件编程 3.1.FileChannel FileChannel只能工作在非阻塞模式下面&#xff0c;不能和selector一起使用 获取 不能直接打开FIleChannel&#xff0c;必须通过FileInputSream&#xff0c;或者FileOutputSetream &#xff0c;或者RandomAccessFile来获取FileChannel 通过FileIn…

如何使用Docker本地部署Jupyter+Notebook容器并结合内网穿透实现远程访问

文章目录 1. 选择与拉取镜像2. 创建容器3. 访问Jupyter工作台4. 远程访问Jupyter工作台4.1 内网穿透工具安装4.2 创建远程连接公网地址4.3 使用固定二级子域名地址远程访问 本文主要介绍如何在Ubuntu系统中使用Docker本地部署Jupyter Notebook&#xff0c;并结合cpolar内网穿透…

《Go 简易速速上手小册》第10章:微服务与云原生应用(2024 最新版)

文章目录 10.1 构建微服务架构 - 探索 Go 语言的微观世界10.1.1 基础知识讲解10.1.2 重点案例:订单处理系统订单服务测试服务10.1.3 拓展案例 1:用户认证服务安装所需的包实现用户模型和存储实现 JWT 生成和验证实现认证服务测试服务10.1.4 拓展案例 2:商品推荐服务设计商品…
推荐文章