Git工具的使用教程
1416 字
7 分钟
Git工具的使用教程
- workspace:工作区
- staging area:暂存区/缓存区
- local repository:版本库或本地仓库
- remote repository:远程仓库
什么是 Git?
Git 是一个开源的分布式版本控制系统 [1]。它像一台代码的“时空穿梭机”,负责记录文件修改历史,支持多人高效协同开发。
为什么用 Git?(核心优势)
- 分布式:本地拥有完整仓库,无网也能提交和查看历史。
- 速度快:绝大多数操作在本地运行,无需频繁联网交互。
- 分支强:创建、切换、合并分支极速,完美支持并行开发。
- 更安全:每次提交均生成唯一哈希值,防止代码被篡改或损坏。
本地三大核心区域
Git 通过以下三个区域来管理你的代码生命周期:
| 区域名称 | 英文名称 | 实际作用 | 核心命令 |
|---|---|---|---|
| 工作区 | Working Directory | 电脑上实际看到、正在编辑的文件目录 | —— |
| 暂存区 | Stage / Index | 临时准备区,存放下一次准备提交的修改 | git add |
| 本地仓库 | Repository | 版本历史库,保存所有已提交的历史节点 | git commit |
概念区分:Git ≠ GitHub
- Git:单机工具(像照相机),负责在本地记录和拍摄代码快照。
- GitHub / GitLab:云端平台(像相册分享网站),负责托管和共享大家的代码。
1. 基础配置与初始化
用于在电脑上首次配置 Git 或在本地创建/克隆仓库。 [2]
| 命令 [3] | 说明 |
|---|---|
| git config —global user.name “你的名字” | 设置全局提交者姓名 |
| git config —global user.email “你的邮箱” | 设置全局提交者邮箱 |
| git init | 在当前目录初始化一个新的本地 Git 仓库 |
| git clone <远程仓库地址> | 克隆一个远程仓库到本地 |
2. 工作区与暂存区操作
用于查看文件状态,以及将修改提交到暂存区。 [2, 4]
| 命令 [2, 3, 5] | 说明 |
|---|---|
| git status | 查看当前工作区和暂存区的文件状态 |
| git diff | 查看工作区与暂存区的文件内容差异 |
| git add <文件名> | 将指定文件添加到暂存区 |
| git add . | 将当前目录下所有修改和新文件添加到暂存区 |
| git rm <文件名> | 从工作区和暂存区中删除指定文件 |
3. 代码提交
将暂存区的内容正式保存到本地仓库历史中。 [2, 4]
| 命令 [3] | 说明 |
|---|---|
| git commit -m “提交信息” | 将暂存区的内容提交到本地仓库,并添加备注 |
| git commit -am “提交信息” | 跳过 git add,直接将已跟踪的文件暂存并提交 |
| git commit —amend | 修改上一次的提交信息,或将新修改合并到上一次提交 |
4. 分支管理
用于在日常开发中切换、创建和合并不同的功能分支。 [2, 6]
| 命令 [3, 7] | 说明 |
|---|---|
| git branch | 列出所有本地分支,当前分支前会有 * 号 |
| git branch -a | 列出本地和远程的所有分支 |
| git branch <分支名> | 创建一个新分支,但不会自动切换过去 |
| git checkout <分支名> | 切换到指定分支 |
| git checkout -b <分支名> | 创建并直接切换到该新分支 |
| git merge <分支名> | 将指定分支的代码合并到当前分支 |
| git branch -d <分支名> | 删除一个已经合并过的本地分支 |
| git branch -D <分支名> | 强制删除一个本地分支(未合并也会被删除) |
5. 远程仓库同步
用于与 GitHub、GitLab 等线上远程仓库进行团队协作和数据同步。 [2, 8]
| 命令 [3] | 说明 |
|---|---|
| git remote -v | 查看当前配置的所有远程仓库地址 |
| git remote add origin <远程仓库地址> | 关联一个远程仓库并命名为 origin |
| git fetch | 从远程仓库拉取最新代码,但不自动合并到本地分支 |
| git pull | 从远程仓库拉取最新代码并自动合并到当前分支 |
| git push origin <分支名> | 将本地指定分支的提交推送到远程仓库 |
6. 历史记录与版本回滚
用于查看过去是谁提交了什么,以及在出错时退回到以前的版本。 [2, 9]
| 命令 [2, 7] | 说明 |
|---|---|
| git log | 查看当前分支的详细提交历史记录 |
| git log —oneline | 以精简的一行形式查看提交历史记录 |
| git reflog | 查看本地仓库的所有操作日志(常用于找回丢失的提交) |
| git reset —soft HEAD~1 | 撤销上一次提交,但保留修改的代码在暂存区 |
| git reset —hard HEAD~1 | 彻底撤销上一次提交,工作区修改的代码也会被抹去 |
| git checkout — <文件名> | 放弃工作区中对某个文件的修改,恢复到最近一次暂存或提交状态 |
7. 储藏工具(Stash)
当你正在开发一个功能,突然需要切换到其他分支紧急修 Bug,但又不想提一个未完成的 Commit 时非常有用。
| 命令 | 说明 |
|---|---|
| git stash | 把当前工作区未提交的修改暂时储存起来,让工作区回到干净状态 |
| git stash list | 查看所有被储存的工作现场列表 |
| git stash pop | 恢复最近一次储藏的内容,并把该记录从储藏列表中删除 |
| git stash apply | 恢复最近一次储藏的内容,但保留储藏列表中的记录 |
8. 参考内容
[1] https://docs.github.com [2] https://www.cnblogs.com [3] https://www.runoob.com [4] https://www.ruanyifeng.com [5] https://docs.github.com [6] https://git-scm.com [7] https://github.com [8] https://zhuanlan.zhihu.com [9] https://zhuanlan.zhihu.com [10] https://docs.github.com [11] https://www.eet-china.com
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!




