Skip to content

Git

欢迎开启 Git 系统化学习之旅

学习目标: 熟练应用掌握完成团队代码协作

我们将正式进入 Git 从入门到实践 的系统化学习。作为所有编程开发者的必备技能,掌握 Git 将帮助你实现以下目标:

  • 构建协作体系:帮助团队和个人建立完整的代码协作管理平台,了解主流开源项目的代码管理与协作模式。
  • 掌握发布标准:具备独立完成项目发布的能力,并建立起标准化的工程体系。
  • 无缝衔接职场:在企业日常开发中,Git 是代码管理与团队协作的核心工具。提前熟悉并做到“熟能生巧”,未来进入企业即可直接上手,无需再花时间适应。

Git 简介

Git 是目前全球最流行、最强大的分布式版本控制系统(Distributed Version Control System, DVCS),最初由 Linux 之父 Linus Torvalds 为管理 Linux 内核开发而创建。它能够敏捷高效地处理从小型到超大型项目的版本管理需求。

简单来说,Git 是一个强大的代码管理工具。开发者使用 Git 通常基于以下三大核心诉求:

  • 代码管理与备份:Git 提供了一个本地与远程相结合的仓库系统。开发者可以随时将代码提交到本地仓库进行安全备份,并推送到远程仓库,有效防止代码丢失。
  • 版本控制与回溯:Git 采用“快照(Snapshot)”而非“差异”的方式记录文件变化。当项目经历多次迭代后,开发者可以轻松查看任意历史版本的更新内容、对比差异,甚至一键回滚到之前的稳定状态。
  • 团队协作与分支管理:面对多人(前端、后端、UI、运维等)协同开发,Git 提供了极其轻量且高效的分支(Branch)管理机制。团队成员可以在各自的分支上独立开发、互不干扰,最后通过合并(Merge)或拉取请求(Pull Request)安全地整合代码,彻底告别文件操作混乱。

核心学习资源

官方文档与书籍

  • Git 官方网站git-scm.com —— 下载最新版本、查阅官方命令手册(Reference Manual),权威第一手资料。
  • Conventional Commitsconventionalcommits.org —— 约定式提交规范(featfixchore 等 type 前缀),配合「工作流规范」篇一起看,也是本仓库 commitlint 校验的依据。

Git 安装

在使用命令之前,先在本地安装 Git。

下面以 Windows 系统为例,macOS 可使用 brew install git,Linux 使用对应发行版的包管理器安装。

1. 进入官网下载页

打开 Git 官网 git-scm.com,页面会根据当前系统显示对应的下载入口,点击右侧的 Download for Windows

Git 官网首页,点击 Download for Windows 下载按钮

2. 选择 64 位安装包

进入下载页面后,在 Standalone Installer 一栏选择 64-bit Git for Windows Setup;如果是 32 位系统,则选择对应的 32-bit 版本。

Windows 下载页,在 Standalone Installer 中选择 64-bit Git for Windows Setup

下载到本地后,我们只需双击软件,就可以直接进入安装流程。按提示点击下一步,至到软件安装完成即可。

3. 安装时选择默认编辑器

运行安装包,安装向导中大部分选项保持默认即可;在 Choosing the default editor used by Git 这一步,建议将默认编辑器从 Vim 改为 Use Visual Studio Code as Git's default editor,这样在我们后面提交代码时,如果发生冲突需要修改代码时,会自动在VSCode编辑器中打开,提示用户做相关修改。

Git 安装向导,默认编辑器选择 Use Visual Studio Code as Git's default editor

初次运行 Git 前的配置

安装完 Git 之后,要做的第一件事就是设置用户名和邮箱。这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会被写入到每一次提交中,不可更改。

为什么需要设置用户名和邮箱?

我们每一次生成的项目版本都会记录一些信息,里面既包含当前项目的代码,也包含「是谁提交的」以及「通过什么方式可以联系到提交人」。其他人查看代码时,如果觉得有问题,就可以通过这个联系方式联系到提交者。所以 Git 在生成版本时,一定要记录提交人和联系方式。

全局配置

使用 --global 选项,表示设置的是全局配置:当前电脑用户下用 Git 管理的所有项目,在生成提交信息时都会自动读取这个用户名和邮箱。全局配置只需运行一次,就会对当前用户的所有仓库生效。

bash
git config --global user.name 'your-name'        # 全局配置用户名
git config --global user.email 'you@example.com' # 全局配置邮箱

配置文件位置

使用 --global 配置的信息保存在当前用户目录下的 ~/.gitconfig 文件中(Windows 例如 C:\Users\你的用户名\.gitconfig)。

当前项目单独配置

如果想为当前项目单独配置用户名和邮箱,进入该项目目录后运行不带 --global 选项的命令即可。此时 Git 管理这个项目时,会使用当前项目下配置的用户名和邮箱。

bash
git config user.name 'your-name'        # 当前项目的用户名
git config user.email 'you@example.com' # 当前项目的邮箱

当前项目单独配置的信息,保存在当前项目的 .git/config 文件中。

系统级配置

Git 安装目录下的 /etc/gitconfig 文件包含系统上每一个用户及其仓库的通用配置。执行 git config 时带上 --system 选项,就会读写该文件中的配置变量。由于它是系统配置文件,修改时需要管理员(超级用户)权限。

bash
git config --system user.name 'your-name'
git config --system user.email 'you@example.com'

如果不知道 Git 的安装目录,可以执行以下命令查找:

bash
where git   # Windows;macOS / Linux 使用 which git

配置优先级

三个级别的配置会逐层覆盖:

  • .git/config(项目级)会覆盖 ~/.gitconfig(全局级)
  • ~/.gitconfig(全局级)会覆盖 /etc/gitconfig(系统级)

就近原则:项目级 > 全局级 > 系统级

使用 Git 管理项目

安装好 Git 后,它并不会自动管理电脑上的项目——如果自动管理,Git 就乱了,因为电脑上并不是所有项目都需要它。需要让 Git 管理哪个项目,就要显式告诉它。

在需要 Git 管理的项目根目录下执行 git init,初始化一个 Git 本地仓库,Git 就会开始管理这个项目:

bash
git init

命令执行后,会在当前项目根目录下创建一个名为 .git 的子目录,其中包含初始化的 Git 仓库所必需的全部文件,是 Git 仓库的骨干。

.git 文件夹默认是隐藏的。在 Windows 文件资源管理器中,按下图在「查看」选项卡勾选「隐藏的项目」,即可让它显示出来:

在「查看」选项卡勾选「隐藏的项目」以显示 .git 文件夹

完成以上准备工作后,就可以继续学习 Git 具体是如何管理项目的了(暂存、提交等操作见「基础命令」篇后续内容)。

学习目录

  • 基础命令initaddcommitstatuslog,从仓库初始化到提交历史查看
  • 分支与合并branchswitchmerge 与合并冲突解决
  • 远程协作remotepushpullfetch 与 Pull Request 流程
  • 工作流规范:分支模型、commitlint 提交规范与代码评审约定