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

Git 版本管理基础指令实战指南

Git 版本控制系统核心指令解析,涵盖本地仓库初始化、工作区暂存区操作、分支管理与合并策略、远程仓库配置及冲突解决。重点说明 git add、commit、reset、merge 等常用命令的实际应用场景与注意事项,适合开发者快速上手版本控制流程。

灰度发布发布于 2026/3/29更新于 2026/9/952 浏览
Git 版本管理基础指令实战指南

Git 版本管理基础指令

Git 是一个分布式版本控制系统,通过它我们可以追踪代码的每一次变更。理解 Git 的工作流程是高效协作的前提。

核心工作流程

Git 的核心在于文件状态的流转:工作区 -> 暂存区 -> 本地仓库。

  1. 工作区:你正在编辑的文件所在目录。
  2. 暂存区:准备提交到仓库的快照区域。
  3. 本地仓库:永久保存的版本历史。

Git 工作流程示意图

初始化与配置

在开始之前,需要设置用户信息,确保提交的记录归属正确。

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

查看当前配置是否生效:

git config --global user.name
git config --global user.email

创建本地仓库

在项目目录下执行 git init,系统会生成隐藏的 .git 目录,标志着这里已成为一个 Git 仓库。

git init

常用操作指令

日常开发中,文件修改后通常经历以下几个状态变化。

基本命令

  • 添加文件到暂存区:注意中间有空格。
    git add .
    
  • 提交到本地仓库:-m 后面跟提交说明,建议描述清晰。
    git commit -m "add file01"
    
  • 查看状态:随时确认哪些文件被修改或暂存。
    git status
    
  • 查看历史记录:
    git log
    
    如果想看所有分支的图形化展示:
    git log --all --pretty=oneline --abbrev-commit --graph
    

版本回退

如果不小心提交了错误的代码,可以使用 reset 命令回退。reflog 能帮你找回误删的提交记录。

# 回退到指定版本(慎用)
git reset --hard <commitID>

# 查看已删除的提交记录
git reflog

忽略文件

不想让 Git 跟踪某些文件(如编译产物、密钥),可以创建 .gitignore 文件并写入规则。

分支管理

分支是 Git 最强大的功能之一,支持多人并行开发而不互相干扰。

分支操作

  • 查看分支:当前分支前会有星号标记。
    git branch
    
  • 创建并切换分支:
    git checkout -b dev01
    
  • 合并分支:先切换到目标分支(如 master),再执行 merge。
    git merge dev01
    
  • 删除分支:
    # 安全删除(需已合并)
    

git branch -d b1

强制删除(未合并也会删)

git branch -D b1


> 注意:如果分支未合并就强制删除,该分支上的新提交可能会丢失,操作前请确认。

### 解决冲突

合并时若出现冲突,Git 会提示具体文件。手动打开文件,保留需要的代码部分,然后重新提交:

```bash
git add .
git commit -m "fix conflict"

远程仓库协作

本地仓库通常需要与远程服务器同步,常见的平台有 GitHub、Gitee 等。

SSH 公钥配置

为了免密推送,建议配置 SSH Key。

  1. 生成密钥:
    ssh-keygen -t rsa
    
    一路回车即可。
  2. 查看公钥内容:
    cat ~/.ssh/id_rsa.pub
    
  3. 将生成的公钥复制到远程平台的设置中。

连接与推送

添加远程仓库地址:

git remote add origin [email protected]:username/repo.git

首次推送到远程分支时,需要建立关联:

git push --set-upstream origin master

后续只需:

git push

拉取更新

从远程获取最新代码:

# 拉取并自动合并
git pull

# 或者分步操作
git fetch
git merge origin/master

如果遇到远程和本地文件冲突,按上述冲突解决步骤处理即可。克隆项目则直接使用:

git clone [email protected]:username/repo.git

目录

  1. Git 版本管理基础指令
  2. 核心工作流程
  3. 初始化与配置
  4. 创建本地仓库
  5. 常用操作指令
  6. 基本命令
  7. 版本回退
  8. 回退到指定版本(慎用)
  9. 查看已删除的提交记录
  10. 忽略文件
  11. 分支管理
  12. 分支操作
  13. 强制删除(未合并也会删)
  14. 解决冲突
  15. 远程仓库协作
  16. SSH 公钥配置
  17. 连接与推送
  18. 拉取更新
  19. 拉取并自动合并
  20. 或者分步操作

更多推荐文章

查看全部
  • 电子书籍软件游戏音乐教程及 AI 绘画资源合集
  • 链表核心概念与特性梳理
  • OpenClaw Web UI 访问报错 Not Found 排查与修复
  • OpenClaw 多机器人多 Agent 模式:构建 AI 助手团队
  • 基于深度学习的无人机洪水灾害图像分割与水量估算
  • LLaMA-Factory 大模型 LoRA 微调实战指南
  • OpenClaw 多飞书机器人配置指南
  • IVFFlat 与 HNSW 算法原理与对比
  • RoboChallenge 发布具身智能年度报告:4 万次真机评测揭示模型真实能力
  • GIF 图片出处反查爬虫实现方案
  • C++ AVL 树详解:概念、插入与旋转操作
  • VSCode 远程连接 Copilot 脱机状态解决方案
  • 前端代码可读性优化最佳实践
  • GitHub 汉化插件安装与配置指南
  • Git 版本控制从入门到精通
  • AI 时代核心概念解析:OpenClaw、Agent、Skill、Token、LLM
  • 基于 AI Ping 的大模型 API 统一接入与成本优化实践
  • 基于 Qwen3-4B-Instruct 的技术文档生成实践
  • OpenClaw 本地 AI 助理搭建与配置实战指南
  • FPGA 中 function 与 task 的用法详解及区别

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

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

  • Base64 文件转换器

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