Dawn's Blogs

分享技术 记录成长

0%

Git学习笔记 (1) 介绍

Git 概述

Git 是开源的、分布式版本控制系统。

版本控制工具

集中式

集中式版本控制工具,如 SVN,都有一个单一的集中管理的服务器,保存所有文件的修订版本。而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

好处:

  • 每个人都可以在一定程度上看到项目中的其他人正在做些什么。
  • 管理员也可以轻松掌控每个开发者的权限。
  • 管理一个集中化的版本控制系统更加容易。

坏处:

  • 中央服务器的单点故障。

image-20221222101926311

分布式

分布式版本控制工具,如 Git,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地保存下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

分布式的版本控制解决了集中式版本控制系统的缺陷:

  • 服务器断网的情况下也可以进行开发(版本控制在本地)。
  • 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全,避免单点故障)。

image-20221222102907260

Git 工作流程

一般工作流程如下:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

img

Git 工作机制

Git 的工作机制如下:

  • 工作区中,可以写代码。
  • 将文件添加暂存区,作为临时存储。暂存区英文叫 stage 或 index,一般存放在 .git 目录下的 index 文件(.git/index)中。
  • 将暂存区的代码提交到本地库中,形成历史版本。

image-20221222105012923

也可以将代码提交到代码托管中心(如 Github),代码托管中心是基于网络服务器的远程代码仓库。