Git基本操作(1)

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.mfbz.cn/a/397464.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcoder Day15| 二叉树 part04

语言:Java/C 110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 输入:root [3,9,20,null,null,15,…

使用LangChain结合通义千问API基于自建知识库的多轮对话和流式输出

使用LangChain结合通义千问API基于自建知识库的多轮对话和流式输出 本文章的第三弹,由于LangChain本文不支持直接使用通义千问API进行多轮对话和流式输出,但是自建知识库呢,还需要LangChain,因此我尝试了一下,自建知识库用LangCh…

OpenAI最新Sora视频学习与生成的技术分析与最新体验渠道

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言OpenAI体验通道Spacetime Latent Patches 潜变量时空碎片, 建构视觉语言系统…

Unity之闪电侠大战蓝毒兽(简陋的战斗系统)

目录 🎨一、创建地形 🎮二、创建角色 🏃2.1 动画 🏃2.2 拖尾 🏃2.3 角色控制 ​🏃2.4 技能释放 🏃2.5 准星 📱三、创建敌人 🐲3.1 选择模型 🐲3.…

UI美化stylesheet

一、网上找到自己喜欢的图标 大家可以每个图标类型找出三种不同的颜色,方便后续美化效果,这里我每种只找了一个。(随便找的,最后效果不好看) 将这个文件夹复制到项目的文件夹中。 然后右键Add New…选择QT&#xff0c…

小迪安全27WEB 攻防-通用漏洞SQL 注入Tamper 脚本Base64Jsonmd5 等

#知识点: 1、数据表现格式类型注入 2、字符转义绕过-宽字节注入 3、数字&字符&搜索&编码&加密等 #参考资料: https://www.cnblogs.com/bmjoker/p/9326258.html 扫描,利用工具等都不会自动判断数据类型&#xff0c…

常见面试题:TCP的四次挥手和TCP的滑动窗口

说一说 TCP 的四次挥手。 挥手即终止 TCP 连接,所谓的四次挥手就是指断开一个 TCP 连接时。需要客户端和服务端总共发出四个包,已确认连接的断开在 socket 编程中,这一过程由客户端或服务端任意一方执行 close 来触发。这里我们假设由客户端…

胶管生产中可自动控制外径的测径仪 你心动吗?

摘要:在线测径仪是测控一体的精密仪器,PID闭环控制方法,提升产品外径质量,可以说连测带控才是真绝色,为胶管品质负责。 关键词:胶管测径仪,测径仪,在线测径仪,外径测量仪,直径测量仪 引言 胶管应用领域众多…

2024最新软件测试面试题(带答案)

1. 请自我介绍一下(需简单清楚的表述自已的基本情况,在这过程中要展现出自信,对工作有激情,上进,好学) 面试官您好,我叫###,今年26岁,来自江西九江,就读专业是电子商务,毕…

若依不分离版本部署流程

一、分离与不分离的区别 参考博客:前后端分离与不分离的本质区别!_前后端分离本质-CSDN博客 概念适用场景前后端不分离前端页面看到的效果都是由后端控制,由后端渲染页面或重定向适合纯网页应用前后端分离后端仅返回前端所需的数据&#xf…

《汇编语言》- 读书笔记 - 实验 10 编写子程序

《汇编语言》- 读书笔记 - 实验 10 编写子程序 1. 显示字符串问题子程序描述 show_str提示结果演示 2. 解决除法溢出的问题问题子程序描述 divdw提示结果演示 3. 数值显示问题子程序描述 dtoc提示结果演示 在这次实验中,我们将要编写3个子程序,通过它们来…

UE蓝图 分支(Branch)节点和源码

系列文章目录 UE蓝图 Get节点和源码 UE蓝图 Set节点和源码 UE蓝图 Cast节点和源码 UE蓝图 分支(Branch)节点和源码 文章目录 系列文章目录一、分支节点功能二、分支节点用法三、分支节点使用场景四、分支节点实现过程五、分支节点相关源码 一、分支节点功能 在Unreal Engine&a…

QGis软件 —— 6、QGis - 线与点相互转化操作

线转为点 1、创建一条线 2、对线用点进行分割,由于下图单位是"度" 那么需要对该图层做重投影。 3、对线做"重投影图层"操作 4、对线用点进行分割 点转为线 将点转为线,如下动图。通常用作于外出人员采集gps点后通过csv文件导入qgis&…

ChatGPT-01 用ChatGPT指令,自学任何领域的系统知识

1. 指令位置 Github仓库:Mr Ranedeer AI Tutor 但是需要开通chatgtp plus版本,并且打开代码解释器 2 使用 学习内容 开始学习 GPT甚至可以给你思考题,给出的答案还能进行评价 配置 通过配置表修改 深度 学习风格 沟通风格 语气风格 …

【Python机器学习】详解Python机器学习进行时间序列预测

🔗 运行环境:Python 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 🔐#### 防伪水印——左手の明天 ####🔐 💗 大家…

适合tiktok运营的云手机需要满足什么条件?

TikTok作为一款全球热门的社交媒体平台,具有无限的市场潜力。然而,卖家在运营过程中常常会面临到视频0播、账号被降权、限流等问题,甚至可能因为多人同时使用一个IP而导致封号的风险。为了规避这些问题,越来越多的卖家将目光投向了…

领先一步:2024年大广赛设计趋势预测

2024年大赛已经开始!作为最具影响力的学科竞赛项目之一,中国大学生好创意全国大学生广告艺术大赛(以下简称“大广赛”)自2005年以来已举办12届13届大赛,是权威机构认可的以“创意”为核心理念、以“创新”为教育目标的…

JavaScript数据类型学习脑图

字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)

红队学习笔记Day6 --->干货分享

今天看到这样的一个东西,好好好,有点恐怖😓😓😱😱😱😱 我就想网安是不是也有这种东西? 我来试试 icmp,RDP,arp,dhcp,nat&a…

Unity基于AssetBundle资源管理流程详解

在Unity游戏开发中,资源管理是一个非常重要的环节。随着游戏的发展,资源会变得越来越庞大,因此需要一种高效的资源管理方式来减少内存占用和加快加载速度。AssetBundle是Unity提供的一种资源打包和加载方式,可以将资源打包成一个独…