跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
编程语言

Git 版本控制核心命令与实战指南

综述由AI生成Git 作为分布式版本控制系统,核心在于对代码变更的追踪与管理。涵盖了从环境配置到日常操作的全流程,包括初始化仓库、暂存与提交机制、版本回滚与历史记录查询、分支创建合并及远程仓库同步。重点讲解了 reset 与 stash 的撤销暂存技巧,以及 rebase 与 merge 的区别。同时提供了团队协作中的分支管理规范与 .gitignore 配置建议,帮助开发者建立高效的代码版本控制习惯。

孤勇者发布于 2026/3/23更新于 2026/5/28 浏览

Git 版本控制核心命令与实战指南

一、Git 简介与环境准备

Git 是一款分布式版本控制系统,用于管理代码的历史变更。简单来说,它就像文档的版本管理器,能帮你记录每一次修改,随时回退到任意历史状态。

1. 环境配置

推荐使用 Git Bash 而非 Windows 自带的 CMD。Git Bash 内置了类 Linux 命令(如 ls, cp, mkdir),且支持文件颜色高亮,操作体验更佳。安装过程较为简单,网上教程众多,此处不再赘述。

二、基础工作流

1. 初始化仓库

在目标项目目录下打开终端,执行:

git init

这会在当前目录生成一个隐藏的 .git 文件夹,标志着该目录已成为 Git 仓库。主分支默认为 master(或 main)。

2. 查看状态

使用 git status 可以了解当前文件的跟踪状态:

  • 红色:未跟踪的新文件或已修改但未暂存的文件。
  • 绿色:已暂存(stage)待提交的文件。
  • 白色:已提交(commit)的文件。

3. 暂存与提交

Git 的工作流分为'暂存'和'提交'两步:

  1. 暂存:将修改的文件加入暂存区。
    git add .
    
    点号表示添加当前目录下所有文件。
  2. 提交:将暂存区的更改永久写入历史记录。
    git commit -m "提交说明信息"
    
    -m 后跟的说明信息应简洁明了,方便日后查阅。

4. 查看历史

使用 git log 可以查看提交记录,包括版本号、作者、时间和提交信息。

三、版本管理与撤销

1. 版本回滚

如果提交了错误的代码,可以使用 git reset 进行回滚。

git reset --hard <commit_id>

注意:--hard 参数会丢弃工作区的所有修改,请谨慎使用。务必先确认目标版本号。

2. 找回丢失的记录

如果误操作导致 git log 看不到某些记录,可以使用 git reflog。它会记录 HEAD 指针的所有移动历史,即使被重置也能找回之前的提交 ID。

3. 代码暂存 (Stash)

当你在开发新功能时,发现需要紧急修复 Bug,但当前代码还没写完不能提交,可以使用 git stash。

git stash          # 暂存当前修改
git stash pop      # 恢复最近一次暂存
git stash list     # 查看所有暂存记录

这能让你在不提交的情况下切换上下文,修复完后再把暂存的代码拿回来继续开发。

四、分支管理

1. 创建与切换

git branch <分支名>   # 创建分支
git checkout <分支名> # 切换分支

或者合并创建并切换:git checkout -b <分支名>。

2. 合并分支

切换到目标分支(如 master),然后合并其他分支:

git merge <分支名>

合并时若发生冲突,需手动解决冲突文件后再次提交。

3. 变基 (Rebase)

git rebase 可以将提交历史整理成一条直线,使日志更整洁,适合个人维护的分支。但在多人协作的主分支上,建议优先使用 merge 以保持历史完整性。

五、远程仓库协作

1. 连接远程仓库

添加远程仓库地址(别名通常为 origin):

git remote add origin <远程仓库 URL>

2. 推送与拉取

  • 推送:将本地分支推送到远程。
    git push origin <分支名>
    
  • 拉取:从远程更新代码。
    git pull origin <分支名>
    
  • 克隆:下载整个仓库。
    git clone <远程仓库 URL>
    

六、开发规范与最佳实践

1. 忽略文件

在项目根目录创建 .gitignore 文件,列出不需要版本控制的文件(如编译产物、依赖包、配置文件等)。例如 *.txt 或 node_modules/。

2. 标签管理

使用 git tag 标记重要版本(如 v1.0, v2.0),便于发布管理。

3. 协作流程

在团队开发中,建议采用以下策略:

  • 每个开发人员在自己的功能分支上开发。
  • 完成功能后合并到测试分支(review 分支)。
  • 组长审核通过后,再合并到主分支(master/dev)。
  • 遇到冲突时,先拉取最新代码再合并,避免覆盖他人工作。

提示:切勿将公司私有代码上传至个人公共账户,确保信息安全。

目录

  1. Git 版本控制核心命令与实战指南
  2. 一、Git 简介与环境准备
  3. 1. 环境配置
  4. 二、基础工作流
  5. 1. 初始化仓库
  6. 2. 查看状态
  7. 3. 暂存与提交
  8. 4. 查看历史
  9. 三、版本管理与撤销
  10. 1. 版本回滚
  11. 2. 找回丢失的记录
  12. 3. 代码暂存 (Stash)
  13. 四、分支管理
  14. 1. 创建与切换
  15. 2. 合并分支
  16. 3. 变基 (Rebase)
  17. 五、远程仓库协作
  18. 1. 连接远程仓库
  19. 2. 推送与拉取
  20. 六、开发规范与最佳实践
  21. 1. 忽略文件
  22. 2. 标签管理
  23. 3. 协作流程
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 近五年体内微纳米机器人赋能肿瘤精准治疗综述:聚焦 GBM
  • 文心大模型 4.5 开源部署实战与中文场景应用
  • Ghostty + Yazi + Lazygit 打造高效终端工作流
  • 算法学习路径规划与核心模块详解
  • 基于 Qwen3:32B 的文旅智能导览 Agent 实践:知识问答、路线规划与 AR 联动
  • LeetCode 92 链表区间反转:递归与哨兵节点实战
  • NativeScript-Vue 实战:用 Vue 语法构建高性能原生应用
  • 近五年体内微/纳米机器人赋能肿瘤精准治疗:聚焦 GBM
  • Electron 前端开发快速入门教程:从零搭建到打包部署
  • 基于 Spring Boot 3.5.x + Sa-Token + MyBatis Flex 的企业级文件管理系统 Free-FS
  • 基于 UDP 协议的手机通话语音局域网传输 Python 脚本
  • AI 应用深度解析:分类、现状、商业化与未来趋势
  • OpenCV 图像掩码操作与卷积滤波实现详解
  • Cursor Chat Browser:浏览和管理 Cursor AI 聊天历史的 Web 应用
  • 无人机地面站 QGroundControl 在 Ubuntu 20.04 下的安装指南
  • JVM 常见垃圾回收算法详解:Parallel、CMS 与 G1
  • OpenClaw 在 Mac 上本地化部署及接入飞书教程
  • Go Web 开发核心理论:HTTP、MySQL 与常用组件
  • DDNS-GO 双平台部署指南:实现免费内网穿透与动态域名解析
  • iOS 项目 Jenkins 持续集成环境搭建与常见问题排查

相关免费在线工具

  • 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