发布于 2026-01-06 2 阅读
0

面向初学者的 Git 指南 DEV 的全球展示与分享挑战赛,由 Mux 呈现:展示你的项目!

面向初学者的 Git 指南

由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!


在本文中,我将向您介绍版本控制系统 (VCS)、Git 本身、您应该学习它的原因,以及其他即使是高级用户也可能不知道的有趣内容。

什么是VCS?

简而言之,版本控制系统是一个记录文件或文件集随时间推移的更改的系统,它允许您稍后返回到项目的特定版本。这意味着即使您或您的同事犯了错误,您也可以轻松返回到项目的最新版本并从那里重新开始。它简化了一切,并为您提供了试验的机会。

VCS的类型

  • 本地(RCS)
  • 集中式(CVS、Subversion)
  • 分布式(Git、Mercurial、BitKeeper)

当地的

本地版本控制系统部署在一台机器上,作为该机器的备份。镜像或差异(项目两个版本之间的差异)不会超出这台机器的范围,就像您在自己的机器上复制了一个文件夹一样。
集中式版本
控制系统安装在同一网络内的本地服务器上,它可以存储来自该网络中所有计算机的快照或差异。

集中式版本控制系统分布式

分布式版本控制系统(VCS)以 GitHub 为例,无论身处世界何地,无论使用哪台电脑,都可以通过互联网将版本存储在同一个云存储空间中。此外,它不仅允许在父级存储和云存储之间移动副本,还允许在不同的父级存储之间移动副本。

分布式版本控制系统和 Git 的优势

  • 速度。
  • 设计简洁。
  • 强力支持非线性开发(数千个并行分支)。
  • 完全分布式。
  • 能够高效地处理像 Linux 内核这样的大型项目(速度和数据大小)。

基本概念

  • 版本是快照,不是差异。
  • 几乎所有操作都在本地执行。
  • 完整性。所有数据都会计算 SHA-1 哈希值。
  • 将数据添加到 git 后,虽然很难(但并非不可能)丢失它们。
  • 只有在终端中才能使用完整的git支持。
  • 所有文件都只能处于以下几种状态之一:已提交、已修改、暂存。

快照和差异之间的区别

在 Git/Mercurial 的索引过程中,每个项目文件都可能处于以下三种状态之一:
已修改但未暂存:当用户修改项目文件时,Git/Mercurial 目前无法追踪到这些更改。如果文件丢失或意外删除,Git 将无法恢复该文件。
已暂存以提交到仓库:文件修改后,可以将其添加到 Git 暂存区,以便稍后永久提交到仓库。暂存区是一个文件,通常位于项目的仓库目录(`.git`)中,用于存储有关下次提交到仓库的内容的信息。暂存区有时也称为索引。
已提交到仓库:一旦暂存的文件提交到仓库,它们就成为仓库的永久组成部分,之后可以提取(检出)以进行审查或进一步开发。
这三种文件状态构成了 Git 和 Mercurial 的重要组成部分。下图展示了这三种文件状态。

结论

我尝试描述了版本控制系统 (VCS) 和 Git 的几乎所有方面,以及你为什么应该关注它们。下一部分将介绍一些较小的功能,希望你会感兴趣。
你可以在 Discord 上添加我:MarkFusion#2903

文章来源:https://dev.to/abstract/a-git-guide-for-beginners-2amb