简介
本全面的 Git 教程为开发者提供了使用版本控制有效管理软件项目的基本技能。学习如何初始化仓库、配置设置、跟踪文件更改,以及理解 Git 版本控制系统的基本机制。
Git 仓库基础
理解 Git 版本控制
Git 是一个分布式版本控制系统,旨在在软件开发过程中跟踪源代码的更改。它通过管理文件修改、分支和合并,使多个开发者能够高效协作。
创建新的 Git 仓库
要初始化一个新的 Git 仓库,使用 git init 命令:
mkdir my-project
cd my-project
git init
此命令会创建一个隐藏的 .git 目录,用于存储所有仓库元数据和版本历史。
仓库配置
使用全局设置配置你的 Git 身份:
git config --global user.name "你的名字"
git config --global user.email "your.email@example.com"
| 配置选项 | 用途 |
|---|---|
| user.name | 设置你的提交作者姓名 |
| user.email | 设置你的提交电子邮件地址 |
基本仓库工作流程
graph LR
A[工作目录] --> B[暂存区]
B --> C[本地仓库]
C --> D[远程仓库]
用于仓库管理的关键 Git 命令:
git status:检查仓库状态git add:暂存文件git commit:在本地保存更改git push:将更改上传到远程仓库
文件跟踪机制
Git 通过三种主要状态跟踪文件:
- 未跟踪
- 已修改
- 已暂存
文件跟踪示例:
## 检查仓库状态
git status
## 添加特定文件
git add README.md
## 添加所有文件
git add.
## 提交更改
git commit -m "初始项目设置"
Git 文件暂存技术
理解暂存区
Git 暂存区是工作目录和仓库之间的一个中间区域,它允许你精确控制哪些文件更改会被提交。
暂存命令概述
graph LR
A[工作目录] -->|git add| B[暂存区]
B -->|git commit| C[本地仓库]
| 命令 | 功能 |
|---|---|
git add <file> |
暂存特定文件 |
git add. |
暂存所有已修改的文件 |
git add -A |
暂存所有更改,包括已删除的文件 |
详细的暂存技术
## 暂存单个文件
git add README.md
## 暂存多个文件
git add file1.txt file2.py
## 暂存当前目录下所有已修改的文件
git add.
## 交互式暂存
git add -p
高级文件管理
## 从暂存区移除文件
git reset HEAD file.txt
## 查看暂存的更改
git diff --staged
## 取消暂存所有更改
git reset
提交工作流程演示
## 暂存特定更改
git add src/main.py
## 使用描述性消息提交
git commit -m "实现用户认证模块"
## 提交所有已跟踪且已修改的文件
git commit -am "更新用户管理"
高级 Git 文件操作
文件删除与跟踪策略
graph LR
A[工作目录] -->|删除| B[暂存区]
B -->|提交| C[仓库]
从 Git 中删除文件
## 从仓库和文件系统中删除文件
git rm file.txt
## 从仓库中删除文件,但保留在文件系统中
git rm --cached file.txt
## 删除多个文件
git rm *.log
撤销更改与恢复文件
| 操作 | 命令 | 目的 |
|---|---|---|
| 丢弃本地更改 | git checkout -- file.txt |
将文件恢复到上次提交的状态 |
| 取消暂存文件 | git reset HEAD file.txt |
从暂存区移除文件 |
| 撤销提交 | git revert <提交哈希> |
创建一个新提交来撤销更改 |
高级文件操作
## 在 Git 中重命名文件
git mv old-name.txt new-name.txt
## 将文件移动到另一个目录
git mv file.txt./subdirectory/
## 恢复特定版本的文件
git restore --source=HEAD~1 file.txt
复杂文件管理场景
## 临时存储更改
git stash save "进行中的工作"
## 列出存储的更改
git stash list
## 应用最新的存储
git stash apply
## 清理未跟踪的文件
git clean -fd
提交历史文件操作
## 修改最后一次提交
git commit --amend
## 交互式查看文件历史
git log -p file.txt
## 查找文件的原始作者
git blame file.txt
总结
通过掌握 Git 仓库基础和文件暂存技术,开发者可以简化工作流程、更高效地协作,并对项目版本历史保持精确控制。理解这些核心的 Git 概念有助于实现更好的代码管理、跟踪更改以及开发团队间的无缝协作。



