【掌握版本控制:Git 入门与实践指南】配置详解|理解本地仓库结构

                                               🎬慕斯主页修仙—别有洞天

                                              ♈️今日夜电波:泥中に咲く—ウォルピスカーター

                                                                0:34━━━━━━️💟──────── 4:46
                                                                    🔄   ◀️   ⏸   ▶️    ☰  

                                      💗关注👍点赞🙌收藏您的每一次鼓励都是对我莫大的支持😍


 

目录

如何知道是否有安装Git?

如果没有Git,如何安装?

sudo命令不能在普通用户使用的情况

创建本地仓库

配置Git

基本操作的使用

添加文件

理解Git的结构

工作区、暂存区和版本库


如何知道是否有安装Git?

如下命令即可知道:

git --version

如果存在即会显示对应的Git版本信息:

如果没有Git,如何安装?

        如下命令即可:

sudo yum install -y git//centos
sudo apt-get install -y git//ubuntu

        若是在root下可不带sudo!

sudo命令不能在普通用户使用的情况

        可以按照以下步骤将对应的用户添加到sudo中:

1、切换到root用户

su 
//输入密码

2、给对应的文件添加上写指令

chmod u+w /etc/sudoers

3、进入对应的文件,并添加上对应用户的权限。

vim /etc/sudoers//打开对应的文件

        如下:按下“i”进入编辑模式,滑到最底下并添加上对应的代码。

        格式如下:

(1)普通使用sudo命令,输入密码 5分钟有效

//给用户添加sudo
要添加的用户名 ALL=(ALL) ALL

(2)如下设置后sudo命令无需密码,直接使用

//给用户添加sudo
要添加的用户名 ALL=(ALL) NOPASSWD:ALL

(3)首先shift+;然后输入wq!回车(保存并退出)

4、把之前改的权限改回即可

chmod u-w /etc/sudoers

创建本地仓库

        使用如下命令在当前目录下创建一个Git本地仓库:

git init

        需要注意的是:Git本地仓库被创建出来后的名字为“.git”,他是一个隐藏文件!可以使用 ls -a 来查看。如下为.git的结构:

配置Git

        如下命令查看git配置:

git config -l

        如下为设置用户名和e-mail地址的操作:

git config [--global] user.name "Your Name" //其中 --global 是⼀个可选项
git config [--global] user.email "email@example.com"

        加上global表示该配置生效在所有仓库,没加则表示当前的仓库!

        如下为删除对应配置的操作,:

git config [--global] --unset user.name //其中 --global 是⼀个可选项
git config [--global] --unset user.email

        需要注意:如果是global选项的配置只有只有global才能删除!

基本操作的使用

添加文件

        如下命令可以将文件或者目录添加到暂存区:

git add [file1] [file2] ... //可以添加一个或多个文件,如上添加file1和file2
git add . //添加当前⽬录下的所有⽂件改动到暂存区

        如下命令可将暂存区内容添加到本地仓库中 :

git commit -m "message" //将暂存区全部内容到本地仓库中
//需要注意:message可以为如何字符,可以理解为一个随笔、记录,必须添加!
git commit [file1] [file2] ... -m "message" //提交暂存区的指定⽂件到仓库区

        通过上述的操作我们就已经将所有的代码直接提交到本地仓库了!使用如下命令可以查看提交记录:

git log 
git log  --pretty=oneline //让记录看起来更美观

        需要注意的是:我们看到的⼀⼤串类似 23807c5...56eed6 的是每次提交的 commit id (版本号),Git的 commit id 不是1,2,3……递增的数字,⽽是⼀个SHA1计算出来的⼀个⾮常⼤的数字,⽤⼗六进制表示。

        我们可以使用如下命令查看版本库对象的内容:

git cat-file -p [commit id]

 

理解Git的结构

工作区、暂存区和版本库

        在创建完成Git的本地仓库后,我们可以按照如下理解Git的结构组成:

        ⼯作区:是在电脑上你要写代码或⽂件的⽬录。

        暂存区:英⽂叫stage或index。⼀般存放在 .git ⽬录下的index⽂件(.git/index)中(需要注意的是:这个index需要在使用过暂存区后才会出现),我们把暂存区有时也叫作索引(index)。即:git add 后会更新内容的区域:

        版本库:⼜名仓库,英⽂名repository 。⼯作区有⼀个隐藏⽬录.git ,它不算⼯作区,⽽是Git的版本库。这个版本库⾥⾯的所有⽂件都可以被Git管理起来,每个⽂件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

        对象库:存在于版本库中,被版本库维护。修改的工作区内容会被写入对象库一个新的git对象中。表现为。git下的objects(包含了创建的各种版本库对象及内容,可以简单理解为放了git维护的所有修改)。如下图所示:

        需要注意的是:在创建Git版本库时,Git会为我们⾃动创建⼀个唯⼀的master分⽀,以及指向master的⼀个指针叫HEAD暂存区以及master下都是存的索引!指向的是objects中的对象!refs/heads/master:⽂件⾥保存当前master分⽀的最新 commit id 。


                       感谢你耐心的看到这里ღ( ´・ᴗ・` )比心,如有哪里有错误请踢一脚作者o(╥﹏╥)o! 

                                       

                                                                        给个三连再走嘛~  

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

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

相关文章

RocketMQ入门指南:从零开始学习分布式消息队列技术

RocketMQ 1. MQ介绍1.1 为什么要用MQ1.2 MQ的优点和缺点1.3 各种MQ产品的比较 2. RocketMQ快速入门2.1 准备工作2.1.1 下载RocketMQ2.2.2 环境要求 2.2 安装RocketMQ2.2.1 安装步骤2.2.2 目录介绍 2.3 启动RocketMQ2.4 测试RocketMQ2.4.1 发送消息2.4.2 接收消息 2.5 关闭Rocke…

【三十】springboot项目上高并发解决示例

互相交流入口地址 整体目录: 【一】springboot整合swagger 【二】springboot整合自定义swagger 【三】springboot整合token 【四】springboot整合mybatis-plus 【五】springboot整合mybatis-plus 【六】springboot整合redis 【七】springboot整合AOP实现日志操作 【…

信钰证券:股市牛市有什么特征?存在以下八大特征

股市牛市存在以下特征: 1、大盘在底部呈现接连的阳K线,一起大盘指数突破上方重要的关口,这说明大盘突破上方压力方位,把转换成支撑方位,行将开启上涨趋势,创建新高。 2、市场上的资金大量流入&#xff0c…

基于php的用户登录实现(v1版)(持续迭代)

目录 版本说明 数据库连接 登录页面:login.html 登录处理实现:login.php 用户欢迎页面:welcome.php 用户注册页面:register.html 注册执行:DoRegister.php 版本说明 v1实现功能: 数据库连接&#x…

图片如何压缩到200k以下?3个图片压缩技巧分享

图片如何压缩到200k以下?在日常生活中,将图片压缩至200K以下至关重要。这不仅能有效节省存储空间,让手机或电脑运行的更流畅,还能显著加快网络传输速度,提升分享和上传体验。同时,许多平台对上传图片的大小…

分类预测 | Matlab基于TTAO-CNN-LSTM-Attention三角拓扑聚合优化算法优化卷积神经网络-长短期记忆网络-注意力机制的数据分类预测

分类预测 | Matlab基于TTAO-CNN-LSTM-Attention三角拓扑聚合优化算法优化卷积神经网络-长短期记忆网络-注意力机制的数据分类预测 目录 分类预测 | Matlab基于TTAO-CNN-LSTM-Attention三角拓扑聚合优化算法优化卷积神经网络-长短期记忆网络-注意力机制的数据分类预测分类效果基…

CMake: 在构建世界掀起风暴

由简至繁,以小见大。首先,让我们从标准的 Gartner 技术成熟度曲线开始,了解 CMake 的发展,感受 CMake 对行业的深远影响。 图片来源:Gartner (我在原图基础上增加了年份) CMake 的开发从1999年开始,最初的…

PHP代码审计

前言 本文章主要是PHP代码审计的一些基础知识,包括函数的用法,漏洞点,偏向基础部分,个人能力有限,部分可能会出现错误或者遗漏,读者可自行补充。 代码执行 代码执行是代码审计当中较为严重的漏洞&#x…

Dgraph 入门教程三《linux本地部署》

上一章中,我们用的官方的Clound操作的,怎么在本地部署一套Dgraph呢。这一章将做详细介绍。安装有好几种方式,最简单的就是联网部署。因为项目需要,这里先不介绍和测试线上部署了,只介绍离线部署。 1、下载安装包 Rel…

JVM工作原理与实战(四十三):JVM常见面试题目

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、JVM常见面试题目 1.什么是类加载器,有哪些常见的类加载器? 2.什么是双亲委派机制,以及如何打破双亲委派机制? 3.如何判断堆上的对…

大数据与云计算

目录 一、大数据时代二、云计算——大数据的计算三、云计算发展现状四、云计算实现机制五、云计算压倒性的成本优势 一、大数据时代 我们先来看看百度关于 “大数据”(Big Data)的搜索指数。 可以看出,“大数据” 这个词是从2012年才引起关注…

【C++从0到王者】第五十二站:跳表

文章目录 一、什么是跳表二、skiplist的效率三、skiplist的实现 一、什么是跳表 skiplist本质上也是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是一样的,可以作为key或者key/value的查找模型。 skiplist,…