【Git 学习一】Git 的工作原理

Git是一种分布式版本控制系统,它在本地保存完整的仓库,包括工作区、暂存区和本地仓库。文件状态分为未追踪、未修改、修改和暂存。gitreset命令的soft、mixed、hard选项分别影响不同区域。理解这些原理有助于更有效地使用Git。
摘要由CSDN通过智能技术生成

Git 的工作原理

1 - 概述

Git 是一种分布式 (Distributed) 版本控制系统 (Version Control System),用于记录一个或若干个文件内容的变化,查阅和回溯。

对应集中式版本控制系统,如 SVN,集中式的弊端为需要一个中央处理器,中央处理器单点故障,就无法协同工作。或可能丢失全部数据。

分布式通俗说就是到处都有, Git 每个用户本地都包含完整的仓库,中央处理器故障或者断网的情况下都不影响本地工作,仍然可以进行提交、回退等操作。Git 的工作方式就是记录追踪的文件的更改。


Git 目录中的文件主要有两种状态:追踪和未追踪,追踪状态又可细分为三种,所以有四种状态:

  • 未追踪 (Untracked): 此类文件的修改不受 Git 管理,剩余的三类文件即为 追踪 状态。
  • 未修改 (Unmodified): Git 管理并记录此类文件,当前处于与前一个版本一致未发生变化的状态。
  • 修改 (Modified): 此类文件为 未修改 状态被修改后的状态,通过添加到暂存区可以进入 暂存 状态
  • 暂存 (Staged): 追踪的文件被修改的文件后,添加到暂存区,即可进入 暂存 状态。此状态的文件被提交后将恢复为 未修改 状态。

在这里插入图片描述

2 - 三个区域

Git 主要包括三个区域:

  • 工作区 (Working directory): 实际的代码,目录
  • 暂存区 (Stage 或 Index): 所有添加到暂存区的修改,用于构成下一次提交 (commit)
  • 本地仓库 (Repository)

如图:
在这里插入图片描述
工作区 里的修改通过 git add 添加到 暂存区,这些内容再通过 git commit 提交到 本地仓库

本地仓库的修改通过 git push 推送到远端仓库,远端仓库的修改通过 git pull 更新到本地仓库。

此外还有一个区域用于贮存代码,这个区的存储结构为栈结构,先进后出,通过 git stash 来处理。

3 - 用途

理解 Git 的工作原理,有助于更好的使用 Git 的命令,如

git reset [--mixed | --soft | --hard ]  [<commit>]

在这里插入图片描述
列举出的 git reset 的三个选项用于确定作用范围。

  • soft 只修改本地仓库的提交历史
  • mixed 除了修改本地仓库的提交历史,也会修改暂存区的文件
  • hard 会影响到这三个区域

注:使用 --hard 时 需要非常谨慎,会造成本地代码修改丢失。

下一节 【Git 学习二】Git 文件操作 - 文件添加、移除与重命名

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值