《Git 入门:从概念到环境准备》

你是否曾因代码冲突而抓狂?是否在版本混乱的泥潭中挣扎?想象一下,你拥有一个时光机------不仅能随时回到历史版本,还能让多人协作像跳一支优雅的探戈。这就是Git赋予开发者的超能力!它不仅是代码的保险柜,更是团队协作的神经中枢。让我们从解开"分布式版本控制"的魔法开始,为你的编程之旅装上最强大的引擎。准备好告别版本地狱,迎接丝滑的开发体验了吗?

以后我决定将我的博客风格修改一下,原来是直接一篇博客或两篇博客就发布完整内容,这次我打算将内容分成三或四篇博客,大家一起期待一下吧!

1、Git概念

Git是目前世界上最先进的分布式控制系统。

集中式版本控制系统

集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

这种系统最显而易见的缺点是中央服务器的单点故障。如果宕机一个小时,那么在这一个小时内,谁都无法提交更新,无法协同工作。如果中央服务器的磁盘发生故障的话严重的话会导致数据丢失。

分布式版本控制系统

分布式版本控制系统(Distributed Version Control System,简称DVCS )会把服务器上的代码仓库完整地镜像下来。这样每个人的电脑上都有一份完整的服务器代码仓库的镜像,每一次的提取操作,实际上都是一次对代码仓库的完整备份。

Git和其他版本控制系统的主要差别在于,Git只关心数据的整体是否发生变化,而大多数系统则只关心文件内容的具体差异。

Git并不保存这些前后变化的差异数据。

Git中的绝大多数操作都只需要访问本地文件和资源,不需要联网。因为Git在本地磁盘上保存着所有当前项目的历史更新,所以处理起来速度飞快。

2、Git仓库

基本概念

  • 远程仓库(Remote)
    • 也叫做资源库,是远程机器上的代码库,用于做不同版本库文件交换更新,如Gitlab,GitHub,gitee。
  • 本地库(Repository)
    是用户在本地创建的目录,拥有远程库的一个快照,由工作区和版本库构成。
  • 工作区(Workspace)
    • 本地库的根目录中除.git目录以外的内容,存储内容的实际文件。
  • 暂存区(stage/Index)
    • 也叫做缓存区,暂存信息存放在.git目录下的index文件(.git/index)中,用于临时保存内容的修改。
  • 版本库(.git目录)
    • 是本地库的根目录中的一个隐藏目录.git,用于记录版本信息,Git进行版本控制所需要的文件,则都放在.git文件夹中。
  • 分支(Branch)
    本地库中默认创建一个主(master)分支,分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

本地库和远程库的关系

常用的六个命令


获取本地仓库

进入到目标目录,打开git bash 然后执行git init 命令,成功后目标目录中将出现隐藏文件夹.git

3、Git配置信息Config

在Git中,我们使用git config 命令来配置git的配置文件,git配置级别主要有以下三类:

  • 仓库级别 local(优先级最高)
    • 对应的配置文件是当前仓库下的.git/config
  • 用户级别 global(优先级次之)
    • 对应的配置文件是用户宿主目录下的~/.gitconfig
  • 系统级别 system(优先级最低)
    • 对应的配置文件是git安装目录下的/etc/gitconfig
bash 复制代码
# 查看仓库级别配置
git config --local -l
# 查看用户级别配置
git config --global -l
# 查看系统级别配置
git config --system -l

修改用户名和邮箱(这是安装完第一次使用就应该设置的东西)

bash 复制代码
# 不可以手动修改,每个级别的配置文件,都要用命令。
git config --global user.name "maxiaowen"
git config --global user.email "3446033927@qq.com"

对于git来说,配置文件的权重是仓库>全局>系统。Git会使用这一系列的配置文件来存储你定义的偏好,首先查找/etc/gitconfig文件(系统级),该文件含有对系统上有用户及他们所拥有的仓库都生效的配置值。接下来Git会查找每个用户的~/.gitconfig文件(全局级)。最后Git会查找由用户定义的各个库中Git目录下的配置文件.git/config(仓库级),该文件中的值只对当前所属仓库有效。

相关推荐
我就是程序猿1 小时前
Git的操作
git
洒家肉山大魔王1 小时前
Git && IDE 对长路径支持不足 导致 文件被“误判”不存在
git·idea
摇滚侠2 小时前
零基础小白自学Git_Github教程,Git 与 GitHub 的历史起源,笔记05
笔记·git·github
摇滚侠2 小时前
零基础小白自学 Git_Github 教程,Git 分支概念,笔记07
笔记·git·github
摇滚侠2 小时前
零基础小白自学 Git_Github 教程,仓库的其它功能,笔记09
笔记·git·github
摇滚侠4 小时前
零基础小白自学Git_Github教程,Git 四个分区的概念,笔记11
笔记·git·github
不败公爵4 小时前
Git的工作机制
笔记·git·stm32
2***b884 小时前
Nginx 反向代理之upstream模块以及完整配置反向代理示例
git·nginx·github
ccLianLian5 小时前
计算机基础·Git版本控制
git