【Git版本控制】Git初识、安装、仓库初始化与仓库配置(含git init、git config与配置无法取消问题)

文章目录

什么是版本控制器

生活示例------重复修改文件

在学习和工作中,我们经常遇到如下情况:

小明的老板让小明做一版活动策划案,小明做了方案v1给老板,老板没有通过,小明在原来的文件上修改后生成v2版本;交给老板后,还是没有通过,小明又在这个基础上修改生成v3,往复多次;在第9版本时,老板说:还是第1个版本好。

此时,小明无能为力,因为他在原来的文件上做的修改,并没有备份。但如果小明在每次修改前,先备份一份,再在原来文档上做修改;那么小明就可以轻松拿到第1个版本的文档了。

但这么多的备份,如果没有加以管理,在文件很多的时候,查找起来也是非常繁琐的;而且我们也无法清晰知道每个版本都修改了那些内容.。

版本控制器的概念

此时,为了更方便地管理不同版本的文件,便有了版本控制器。版本控制器即能记录文件历史及发展变化过程的系统。简而言之,它可以记录文件的每次改动与版本迭代。

对于开发者而言,版本控制器可以很好的管理历史工程代码,可以很方便地回退到之前的版本。同时,版本控制器还支持多人协同作业,这为多人同时开发一个项目提供了便利。

而目前最主流的版本控制器就是Git 。Git 可以控制电脑上所有格式的文件,例如 doc、excel、源代码文件等等。它可以清晰记录文本文件在哪几行发生了变化。但对于视频、图片等二进制文件,它不能跟踪具体变化,只能记录文件大小的变化,如从128KB变为256KB。

Git安装

Git为开源代码托管工具,其最早应用于Linux平台,逐步移植到Windows、Mac等平台。这里我们仅介绍Linux的Ubuntu发行版和Windows安装方式。

Linux平台安装

以Ubuntu22.04.4为例,进入Linux命令行后,可以先输入git,若结果与下图相同,则系统没有安装git:

bash 复制代码
git

若系统没有安装git,使用下方命令即可安装:

bash 复制代码
sudo apt-get install git -y

执行完上述指令后,可以借助下方指令查看git版本,若出现版本号,则说明安装成功:

bash 复制代码
git --version

Git仓库的创建与配置

git init ------创建本地仓库

若要进行版本控制,则需要一个仓库用于存储历史版本信息。仓库是进行版本控制的一个文件目录,若要对文件进行版本控制,就必须创建一个仓库。

可以通过下方命令创建一个Git本地仓库:

bash 复制代码
git init

执行完上述命令后,当前目录下多了一个.git的隐藏文件目录,.git目录是Git用于跟踪管理的仓库。因而,不可手动修改目录中的任何文件,若发生修改,可能导致Git仓库被破坏,而无法生成使用。

我们可以借助于tree .git查看Git仓库的诸多细节:

git config ------配置本地仓库

在使用Git时,首先要配置用户名称email地址,否则可能发生一些错误。配置命令如下:

bash 复制代码
git config [--global] user.name "jammingpro"
git config [--global] user.email "jammingpro@163.com"

# 把"jammingpro"替换为你的用户名称
# 把"jammingpro@163.com"替换为你的邮箱地址

这里的global选项是可选的,若只为当前的仓库配置用户名和邮箱,则不需要加上global选项:

bash 复制代码
git config user.name "jammingpro"
git config user.email "jammingpro@163.com"

上面的git config -l可以查看配置信息;没有加上global的配置信息,仅对当前仓库有效,即对gitTest有效,若我们再创建一个目录gitNew,并初始化仓库,查看它的配置信息可以发现,它没有用户名和有效:

回到gitTest目录中,若此时要取消某个配置,可以使用下方指令:

bash 复制代码
git config --unset [配置名称]

例如,我们取消gitTest仓库的用户名和邮箱配置信息:

bash 复制代码
git config --unset user.name
git config --unset user.email

若使用--global选项,则对所有仓库均生效:

复制代码
git config --global user.name "jammingpro"
git config --global user.email "jammingpro@163.com"

若使用--global配置的信息,在--unset取消配置时,也需要带上global选项,否则无法取消配置:

复制代码
git config --global --unset user.name
git config --global --unset user.email

※ 每天努力一点点,技术变化看得见,欢迎评论交流~

相关推荐
用户0273851840263 小时前
【Android】MotionLayout详解
java·程序员
wydaicls3 小时前
AIDL 接口的定义与生成,使用
java·开发语言
云草桑3 小时前
C#入坑JAVA 使用XXLJob
java·开发语言·c#
悟能不能悟3 小时前
springboot在DTO使用service,怎么写
java·数据库·spring boot
Uluoyu3 小时前
支持Word (doc/docx) 和 PDF 转成一张垂直拼接的长PNG图片工具类
java·pdf·word
__XYZ3 小时前
RedisTemplate 实现分布式锁
java·spring boot·redis·分布式·junit
闭着眼睛学算法3 小时前
【双机位A卷】华为OD笔试之【模拟】双机位A-新学校选址【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·javascript·c++·python·算法·华为od
源码_V_saaskw4 小时前
JAVA校园跑腿校园外卖源码校园外卖小程序校园代买帮忙外卖源码社区外卖源码小程序+公众号+h5
java·开发语言·微信小程序·小程序
源码哥_博纳软云4 小时前
JAVA同城预约服务家政服务美容美发洗车保洁搬家维修家装系统源码小程序+公众号+h5
java·开发语言·微信小程序·小程序