跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash大前端

Git 版本控制从入门到远程协作实战

Git 分布式版本控制系统的基础安装、核心概念、分支管理及远程协作流程。涵盖工作区与暂存区机制、提交历史查看、分支合并策略以及远程仓库的推送拉取操作。同时包含撤销修改、重置历史等高级维护技巧及常用命令速查表,帮助开发者快速掌握代码版本管理技能。

禅心发布于 2026/3/23更新于 2026/8/1742 浏览
Git 版本控制从入门到远程协作实战

序言:认识 Git

Git 是一个开源的分布式版本控制系统,用于高效管理文件变更(尤其是代码),记录每一次修改历史,支持多人协作开发。

核心优势

  • 版本追溯:定位任意版本的代码差异;
  • 分支协作:多人并行开发互不干扰;
  • 安全备份:本地 + 远程仓库双重保障,数据永不丢失。

一句话总结:Git = 文件变更的时光机 + 团队协作的桥梁 + 代码安全的守护者。

1. 启程 - 安装与初体验

1.1 下载与安装

前往官方下载页面获取安装包。以 Windows 为例,下载 exe 文件后双击运行。

安装向导中大部分选项保持默认即可,一路点击 Next。建议勾选将 Git Bash 添加到右键菜单,方便后续操作。

安装完成后,打开终端执行以下命令验证:

git --version

显示版本号即表示安装成功。

1.2 基础配置与仓库创建

亮明身份 配置全局用户信息,这是提交代码时的署名依据。

# 配置用户名和邮箱
$ git config --global user.name "你的用户名"
$ git config --global user.email "你的邮箱地址"
# 查看配置是否生效
$ cat .gitconfig

选择编辑器 配置默认文本编辑器,避免每次提交都弹出 Vim。

# 配置 VS Code
$ git config --global core.editor "code --wait"

初始化仓库 在目标目录下初始化 Git 仓库。

# 仓库初始化
$ git init
# 观察隐藏的 .git 文件夹 - Git 的'大脑'
$ cat .git/config

初窥状态 使用 git status 查看当前文件状态。未跟踪文件通常显示为红色,已暂存文件显示为绿色。

# 新建测试文件
$ vi test.txt
# 查看状态
$ git status
# 添加至暂存区
$ git add test.txt

2. 核心引擎 - 提交、历史与工作流

2.1 理解 Git 的三大区域

Git 的工作流程围绕三个核心区域展开:

  1. 工作区 (Working Directory) 你的编辑沙盒,直接看到的项目文件。所有变动尚未被 Git 记录。
  2. 暂存区 (Staging Area) 提交的预演台。通过 git add 后的文件存放于此。核心作用是精准筛选要提交的内容,构建原子化提交。
  3. 版本库 (Repository) 历史保险箱。.git 目录下的数据库,永久存储提交快照,只增不减。
2.2 记录足迹 - 添加与提交

添加 (git add) 将工作区的变更添加到暂存区。

# 仅指定文件
$ git add <filename>
# 当前目录所有新增/修改
$ git add .
# 所有变更(包括删除)
$ git add -A

提交 (git commit) 将暂存区的变更打包成历史记录。

# 提交并附带说明
$ git commit -m "清晰、有意义的提交说明"
2.3 时光回溯 - 查看历史与差异

翻阅日志

# 简洁模式
$ git log --oneline
# 图形化展示分支关系
$ git log --graph --oneline --all

查看差异

# 比较工作区与暂存区
$ git diff
# 比较暂存区与本地仓库
$ git diff --staged
# 比较两个提交
$ git diff <commit1> <commit2>

查看快照

# 查看最新提交详情
$ git show
# 查看特定提交
$ git show <commit_hash>

3. 协作基石 - 分支与合并

3.1 开辟平行宇宙 - 分支

分支是 Git 最强大的功能之一,允许你在不影响主线的情况下进行实验。

# 创建分支
$ git branch <分支名>
# 切换分支
$ git switch <分支名>
# 创建并切换
$ git switch -c <新分支名>
# 查看所有分支
$ git branch -a
3.2 合而为一 - 合并

将其他分支的代码整合到当前分支。

# 合并指定分支
$ git merge <待合并分支>

4. 连接世界 - 远程仓库与协作

4.1 配置远程仓库

远程仓库托管在网络服务器上,作为代码共享与协作的中央枢纽。

生成 SSH 密钥

# 生成密钥对
$ ssh-keygen -t ed25519 -C "关联邮箱"
# 查看公钥
$ cat ~/.ssh/id_ed25519.pub

关联远程仓库

# 添加远程仓库
$ git remote add origin https://gitee.com/yourname/yourrepo.git
# 查看远程地址
$ git remote -v
4.2 推送与拉取

克隆项目

$ git clone https://gitee.com/yourname/yourrepo.git

获取更新

# 仅获取远程更新(不自动合并)
$ git fetch origin
# 获取并自动合并
$ git pull origin main

上传代码

# 首次推送建立追踪
$ git push -u origin main
# 后续简化推送
$ git push

5. 撤销与修复

5.1 后悔药? - 撤销与重置

撤销工作区修改 丢弃未暂存的修改。

$ git checkout -- test.txt
# 或新版命令
$ git restore test.txt

撤销暂存区修改 将文件从暂存区撤回。

$ git reset HEAD test.txt
# 或新版命令
$ git restore --staged test.txt

修改最新提交 补充漏掉的文件或修改注释。

$ git add 漏掉的文件
$ git commit --amend

回退提交

# 软回退(保留更改)
$ git reset --soft HEAD~1
# 硬回退(丢弃更改,慎用)
$ git reset --hard HEAD~1
# 安全回退(创建新提交抵消旧提交)
$ git revert <commit_id>

常用 Git 命令速查表

命令作用示例
git --version验证安装git --version
git config --global user.name设置全局用户名git config --global user.name "John"
git init初始化新仓库git init
git status查看状态git status
git add <文件>添加到暂存区git add index.html
git commit -m "说明"提交到本地仓库git commit -m "初始化项目"
git log查看历史git log --oneline
git branch查看分支git branch
git merge <分支>合并分支git merge feature
git remote add origin关联远程仓库git remote add origin URL
git push推送更改git push
git pull拉取更新git pull
git reset --hard彻底回退git reset --hard HEAD~1
git revert安全撤销git revert <id>

掌握这些核心命令,你就已经具备了独立管理代码版本的能力。在实际工作中,多动手实践,遇到冲突时冷静分析,Git 会成为你开发中最得力的助手。

目录

  1. 序言:认识 Git
  2. 1. 启程 - 安装与初体验
  3. 1.1 下载与安装
  4. 1.2 基础配置与仓库创建
  5. 配置用户名和邮箱
  6. 查看配置是否生效
  7. 配置 VS Code
  8. 仓库初始化
  9. 观察隐藏的 .git 文件夹 - Git 的“大脑”
  10. 新建测试文件
  11. 查看状态
  12. 添加至暂存区
  13. 2. 核心引擎 - 提交、历史与工作流
  14. 2.1 理解 Git 的三大区域
  15. 2.2 记录足迹 - 添加与提交
  16. 仅指定文件
  17. 当前目录所有新增/修改
  18. 所有变更(包括删除)
  19. 提交并附带说明
  20. 2.3 时光回溯 - 查看历史与差异
  21. 简洁模式
  22. 图形化展示分支关系
  23. 比较工作区与暂存区
  24. 比较暂存区与本地仓库
  25. 比较两个提交
  26. 查看最新提交详情
  27. 查看特定提交
  28. 3. 协作基石 - 分支与合并
  29. 3.1 开辟平行宇宙 - 分支
  30. 创建分支
  31. 切换分支
  32. 创建并切换
  33. 查看所有分支
  34. 3.2 合而为一 - 合并
  35. 合并指定分支
  36. 4. 连接世界 - 远程仓库与协作
  37. 4.1 配置远程仓库
  38. 生成密钥对
  39. 查看公钥
  40. 添加远程仓库
  41. 查看远程地址
  42. 4.2 推送与拉取
  43. 仅获取远程更新(不自动合并)
  44. 获取并自动合并
  45. 首次推送建立追踪
  46. 后续简化推送
  47. 5. 撤销与修复
  48. 5.1 后悔药? - 撤销与重置
  49. 或新版命令
  50. 或新版命令
  51. 软回退(保留更改)
  52. 硬回退(丢弃更改,慎用)
  53. 安全回退(创建新提交抵消旧提交)
  54. 常用 Git 命令速查表
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • AI 写作实战:自动写作助手的设计与实现
  • 项目管理核心考点:三点估算、决策树、EMV 及沟通渠道计算
  • 从记忆化搜索到动态规划:状态表示、转移方程与空间优化
  • 用滑动窗口做几道经典数组题
  • 激光雷达点云配准:ICP 与 NDT 算法详解
  • Java JDK21 新特性详解
  • 配置钉钉 OpenClaw 机器人调用 OpenMetadata
  • JDK 下载安装及环境变量配置指南
  • JDK10 核心新特性详解:语法、GC 与 API 优化
  • 不写代码创建 Agent:尝试字节跳动 Coze 平台
  • Llama-3.2V-11B-COT 部署:Triton 推理服务封装与压测
  • Blob 文件格式详解:前端二进制数据处理实战
  • Vivado FPGA 开发工具安装与配置教程
  • 纯 C# 自研轻量 UI 引擎:内核<200KB,支持.NET8 AOT 跨平台
  • ClawX:OpenClaw 桌面版 AI 助手部署指南
  • Docker 部署 OpenClaw:Web UI 访问、飞书配对及自定义模型配置
  • GitHub Copilot Pro 学生免费认证与 VS Code 集成指南
  • Python 标准库与第三方库实战:日期处理、字符串操作及 Excel 应用
  • Vue 3.0 源码发布:编译器优化与 TypeScript 支持
  • Java Web 基础:Spring Web MVC 核心解析

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online