【git】P2 git 安装与基础命令详解
目录
- git 安装
- 官网下载安装
- 不同操作系统的安装方式
- 安装完成验证
- git 核心概念:三大区域
- 工作区(Working Directory)
- 暂存区(Staging Area/Index)
- 本地库(Local Repository)
- 工作流程示意
- git 基础命令详解
- 配置用户信息
- 为什么需要用户签名?
- 设置全局用户信息
- 查看配置信息
- 初始化本地仓库
- 执行过程解析
- .git 目录的作用
- 查看仓库状态
- 基本命令
- 状态信息解读
- 添加文件到暂存区
- 基本语法
- 工作原理
- 添加后的状态变化
- 提交到本地库
- 基本语法
- 提交过程详解
- 提交后的状态
- 查看提交历史
- 简洁历史查看
- 详细历史查看
- 输出格式示例
- 文件修改与再次提交
- 修改文件后的状态
- 重新提交的流程
- 重新提交后
- 版本穿梭(重置)
- 基本语法
- 版本号获取
- 重置选项详解
- 重置原理
- 常见注意事项
- 总结
git 安装
官网下载安装
Git 的安装过程非常简单,推荐通过官方渠道获取最新稳定版本。
官方下载地址:https://git-scm.com/downloads
官方网站会自动检测你的操作系统,并推荐相应的安装包。下载完成后,按照安装向导的提示进行安装即可。
不同操作系统的安装方式
macOS 系统
对于 macOS 用户,除了官方安装包,还可以使用 Homebrew 进行安装:
brew install git
使用 Homebrew 的优势在于可以方便地进行版本管理和更新。
Windows 系统
Windows 用户下载 .exe
安装包后,安装完成后会在右键菜单中看到 Git Bash Here
选项,这为我们提供了一个类 Unix 的命令行环境。
Linux 系统
大多数 Linux 发行版可以使用包管理器安装:
# Ubuntu/Debian
sudo apt-get install git# CentOS/RHEL
sudo yum install git
安装完成验证
无论使用哪种方式安装,都可以通过以下命令验证安装是否成功:
git --version
显示版本号,说明安装成功。
git 核心概念:三大区域
在开始使用 Git 命令之前,理解 Git 的工作原理至关重要。Git 采用了三个主要的存储区域来管理文件的不同状态。
工作区(Working Directory)
定义: 工作区就是你在电脑里能直接看到的目录和文件。
特点:
- 包含项目的实际文件
- 你在这里进行日常的编辑工作
- Git 实时监控这个区域的文件变化
暂存区(Staging Area/Index)
定义: 暂存区是一个临时存储区域,用于保存即将提交到本地库的文件快照。
作用原理:
- 类似于"购物车"的概念
- 可以选择性地添加需要提交的文件
- 允许你精确控制每次提交的内容
- 支持多次修改和调整
本地库(Local Repository)
定义: 本地库保存项目的完整历史记录和元数据。
核心特性:
- 每次 commit 都会在这里创建一个永久的快照
- 包含完整的项目历史
- 支持版本回退和分支管理
工作流程示意
工作区 -----(git add)-----> 暂存区 -----(git commit)-----> 本地库↑ ↓└----------------(git checkout)--------------------------┘
核心理解:
- 只有执行
git commit
时,才会将暂存区的内容永久保存为一个版本 - 暂存区的文件可以被多次修改和重新添加
- 工作区的变化会被 Git 实时跟踪,但不会自动提交
git 基础命令详解
配置用户信息
为什么需要用户签名?
Git 是为团队协作而设计的,每次提交都需要记录是谁做的修改。用户签名就像是你的"身份证",让 Git 知道每个提交的作者。
设置全局用户信息
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱@example.com"
参数解析:
--global
:全局配置,适用于当前用户的所有 Git 仓库- 如果省略
--global
,则只对当前仓库有效
查看配置信息
git config --list
这个命令会显示所有的 Git 配置信息,包括用户名、邮箱等。
初始化本地仓库
Git 初始化本地仓库,就是要通过命令告知 git 管理该目录下的所有文件与操作。
// cd 等命令打开到指定路径
git init
执行过程解析
当你在某个目录下执行 git init
时,Git 会:
- 创建一个隐藏的
.git
文件夹 - 在其中初始化必要的仓库结构
- 将当前目录标记为 Git 仓库的根目录
.git 目录的作用
.git
目录包含了仓库的所有元数据。如果读者是 Windows 操作系统,则会在该目录下生成一个名为 .git
的隐藏文件夹,包含:
- 版本历史
- 分支信息
- 配置文件
- 索引文件等
注意: 不要手动删除或修改 .git
目录中的文件,这可能导致仓库损坏。
查看仓库状态
基本命令
git status
状态信息解读
Git 会显示以下几种文件状态:
未跟踪(Untracked):
- 新创建的文件,Git 还未开始跟踪
- 显示为红色(在支持颜色的终端中)
已修改(Modified):
- 已被 Git 跟踪的文件发生了变化
- 但变化还未添加到暂存区
已暂存(Staged):
- 文件已添加到暂存区
- 等待被提交到本地库
已提交(Committed):
- 文件已保存到本地库
- 工作区是"干净"的
如果读者是首次查看,则会有提示如上图:No commits yet
添加文件到暂存区
基本语法
# 添加单个文件
git add filename.txt# 添加多个文件
git add file1.txt file2.txt# 添加所有文件
git add .
工作原理
当执行 git add
时,Git 会:
- 计算文件的哈希值
- 将文件内容存储到 Git 对象数据库
- 更新索引,记录文件的当前状态
- 将文件标记为"已暂存"状态
添加后的状态变化
添加文件到暂存区后,再次运行 git status
会看到:
提交到本地库
基本语法
git commit -m "提交信息"
提交信息的重要性
-m
为提交信息 —— 提交版本的注释版本信息
提交信息应该:
- 简洁明了地描述本次修改的内容
- 使用现在时态(如:“Add feature” 而不是 “Added feature”)
- 控制在 50 字符以内(首行)
提交过程详解
执行 git commit
时,Git 会:
- 创建一个新的提交对象
- 记录当前时间戳
- 关联作者信息(user.name 和 user.email)
- 生成唯一的提交 ID(SHA-1 哈希值)
- 将暂存区的内容永久保存
提交后的状态
提交成功后,git status
会显示:
On branch master
nothing to commit, working tree clean
查看提交历史
简洁历史查看
git reflog
这个命令显示所有操作的简要历史,包括提交、重置等操作。
详细历史查看
git log
显示详细的提交历史,包括:
- 完整的提交 ID
- 作者信息
- 提交时间
- 提交信息
输出格式示例
7a8b9c2 (HEAD -> master) 第二次提交:修改文件内容
1f2e3d4 初始提交:添加基础文件
文件修改与再次提交
修改文件后的状态
当你修改已跟踪的文件后,git status
会显示:
重新提交的流程
# 1. 添加修改到暂存区
git add your-file.txt# 2. 提交修改
git commit -m "描述本次修改的内容"
重新提交后
版本穿梭(重置)
基本语法
git reset --hard 版本号
版本号获取
通过 git reflog
获取版本号,通常使用前 7 位字符即可:
git reset --hard a9ca791
重置选项详解
Git 提供三种重置模式:
-
–hard(硬重置):
- 重置工作区、暂存区和本地库
- 完全回到指定版本的状态
- 警告:会丢失所有未提交的修改
-
–mixed(混合重置,默认):
- 重置暂存区和本地库
- 保留工作区的修改
-
–soft(软重置):
- 只重置本地库
- 保留暂存区和工作区的修改
重置原理
Git 的版本穿梭本质上是移动 HEAD 指针:
- HEAD 指向当前所在的提交
- 重置就是让 HEAD 指向不同的提交
- 由于 Git 保存了完整历史,可以随意在版本间穿梭
常见注意事项
空文件夹不被跟踪: Git 只跟踪文件,不跟踪空目录
隐藏文件的处理: 以点开头的文件(如 .gitignore)也会被跟踪
文件权限: Git 会跟踪文件的执行权限变化
总结
通过本文,我们详细了解了 Git 的安装过程和基础命令的使用。核心要点包括:
- 三区域模型: 理解工作区、暂存区、本地库的关系
- 基础工作流: add → commit 的基本循环
- 版本管理: 通过提交创建版本快照,通过重置实现版本穿梭
掌握这些基础概念和命令,你就具备了使用 Git 进行基本版本控制的能力。在实际使用中,建议多加练习,逐步形成良好的版本控制习惯。
2025.09 长椿街