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

Git 版本控制核心命令与实战流程

Git 作为分布式版本控制系统,通过 init、add、commit 等基础命令管理文件状态,利用分支和合并实现并行开发。高级功能如 reset、reflog 支持版本回滚与恢复,stash 暂存未提交代码。远程仓库操作包括 push、pull、clone 实现多端同步。掌握规范的工作流与分支策略,能有效提升团队协作效率并降低代码冲突风险。

微码行者发布于 2026/3/25更新于 2026/6/512 浏览

Git 版本控制核心命令与实战流程

一、Git 简介与环境准备

Git 是一款分布式版本控制软件,用于管理代码的历史变更。就像保存文档的不同版本(如'初稿'、'终稿'),Git 能记录每一次修改,支持随时回退或对比差异。

1. 安装与配置

安装过程较为简单,网上教程众多。安装完成后,建议先配置用户信息,这样每次提交都会带上你的身份标识:

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

2. 命令行工具选择

推荐使用 Git Bash 而非 Windows CMD。Git Bash 内置了类 Linux 命令(如 ls, mkdir),操作更便捷,且文件列表会有颜色区分,便于识别状态。

二、基础工作流程

所有 Git 操作通常都在项目根目录下进行。

1. 初始化仓库

将当前文件夹变为 Git 仓库:

git init

执行后,目录中会生成一个隐藏的 .git 文件夹,它存储了所有版本数据。相比直接拷贝文件,这种方式更节省空间,后续提交仅保存差异内容。

2. 查看状态

在操作前,先了解当前文件状态:

git status
  • 红色:未跟踪的新文件或已修改但未暂存的文件。
  • 绿色:已暂存(staged)的文件。
  • 白色:已提交(committed)的文件。

3. 暂存与提交

Git 的工作流分为两步:暂存(Add)和提交(Commit)。

添加文件到暂存区:

git add <file>
# 或者添加当前目录下所有文件
git add .

此时文件状态应变为绿色,表示已准备好提交。

提交到本地仓库:

git commit -m "提交说明信息"

-m 后面紧跟本次提交的描述,建议写得清晰易懂,方便日后查阅历史。提交成功后,文件状态变白,工作树显示 clean。

查看历史记录:

git log

这里可以看到版本号、作者及提交时间。如果未配置用户信息,系统会提示输入,务必填写准确。

三、高级功能实战

1. 版本回滚与恢复

版本回滚

如果提交了错误的内容,可以使用 reset 命令回退到指定版本:

git reset --hard <commit_id>

这会强制将 HEAD 指针指向指定版本,工作区文件也会随之改变。注意: 此操作不可逆,请谨慎使用。

找回丢失的记录

回滚后若发现误操作,可用 reflog 查看所有 HEAD 的移动记录:

git reflog

即使 git log 看不到某次提交,只要它在 reflog 里,就能通过版本号再次找回。

2. 代码暂存 (Stash)

开发中途需要切换分支修复 Bug,但手头代码还没写完无法提交时,可以使用 Stash 暂存现场:

git stash          # 暂存当前修改
git stash list     # 查看暂存列表
git stash pop      # 恢复最近一次暂存
git stash apply    # 恢复指定编号的暂存

恢复时若涉及同一文件的冲突,需手动解决。实际工作中,基于分支处理 Bug 更为常见。

3. 分支管理与合并

创建与切换
git branch <branch_name>   # 创建分支
git checkout <branch_name> # 切换分支
# 或者一步完成
git checkout -b <branch_name>

不同分支拥有独立的环境,互不干扰。例如在 dev 分支新建文件,切回 master 分支则看不到该文件。

合并分支

将开发分支合并回主分支:

git checkout master
git merge <branch_name>

合并时若修改了相同位置,会产生冲突,需手动编辑文件解决冲突标记后再次提交。对于整洁的提交历史,也可考虑使用 rebase,它将提交记录线性化。

四、远程仓库协作

为了多端同步代码,需要将本地仓库推送到远程服务器(如 GitHub、Gitee 等)。

1. 关联远程仓库

git remote add origin <remote_url>

origin 是远程仓库的别名,可自定义。

2. 推送与拉取

git push origin master    # 推送到远程 master 分支
git pull origin dev       # 从远程 dev 分支拉取更新
git clone <repo_url>      # 克隆整个仓库

首次推送可能需要验证账号密码。日常开发中,建议定期 pull 以获取同事的最新代码,避免冲突累积。

五、团队协作规范

1. 分支策略

  • master/main:生产环境代码,保持稳定。
  • dev:开发集成分支。
  • feature/bugfix:具体功能或修复分支,开发完成后合并至 dev。

2. 代码审查 (Code Review)

重要代码合并前需经过审查。流程通常为:开发者提交 PR/MR -> 组长 Review -> 合并至主分支。这能有效拦截潜在问题。

3. 忽略文件

创建 .gitignore 文件,列出无需版本控制的临时文件(如编译产物、日志、IDE 配置)。规则支持通配符,例如 *.txt。

4. 标签管理

使用 tag 标记特定版本(如 v1.0, v2.0),便于发布和回退:

git tag v1.0
git push origin --tags

掌握上述命令与工作流,能够显著提升个人效率并保障团队代码安全。

目录

  1. Git 版本控制核心命令与实战流程
  2. 一、Git 简介与环境准备
  3. 1. 安装与配置
  4. 2. 命令行工具选择
  5. 二、基础工作流程
  6. 1. 初始化仓库
  7. 2. 查看状态
  8. 3. 暂存与提交
  9. 或者添加当前目录下所有文件
  10. 三、高级功能实战
  11. 1. 版本回滚与恢复
  12. 版本回滚
  13. 找回丢失的记录
  14. 2. 代码暂存 (Stash)
  15. 3. 分支管理与合并
  16. 创建与切换
  17. 或者一步完成
  18. 合并分支
  19. 四、远程仓库协作
  20. 1. 关联远程仓库
  21. 2. 推送与拉取
  22. 五、团队协作规范
  23. 1. 分支策略
  24. 2. 代码审查 (Code Review)
  25. 3. 忽略文件
  26. 4. 标签管理
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • AI Agent 新范式:FastGPT 集成 MCP 协议构建工具增强智能体
  • AI 视频生成工具进化:从 Midjourney 到 Runway
  • 次模函数(Submodular Function)核心概念与 AI 应用
  • 大语言模型 LLM 核心技术及应用场景分析
  • C++ 单目操作符与标准输入输出详解
  • Python 七大岗位学习路线与技能指南
  • Flutter pathfinding 库的 OpenHarmony 适配实战
  • MyBatis 源码阅读:Mapper 映射文件解析流程
  • 如何在 VSCode 中彻底禁用 GitHub Copilot
  • Vue3 与 UniApp 项目配置 ESLint 9 Prettier Husky Lint-staged EditorConfig Stylelint
  • 基于 Matlab 的连续同心推拉机器人多物理场耦合仿真与优化
  • React Native 侧滑列表实战:SwipeableFlatList 使用详解
  • 前端 AI Agent 进阶学习路线:从基础到智能体构建
  • C++ 与 Linux 多线程进阶:深入理解互斥锁
  • OpenClaw 与 Claude Code、Cursor、Copilot 的区别
  • 大模型、AI 大模型与 GPT 模型详解
  • 程序员日常:我以为的工作量 VS 实际上的工作量
  • 深入理解 JSON Web Token (JWT) 原理与安全实践
  • Django REST Framework 重构智能合同审查系统实战
  • 深度对比 vLLM、SGLang 与 llama.cpp 推理引擎

相关免费在线工具

  • 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