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

Git 常用命令使用指南

综述由AI生成详细讲解了 Git 版本控制系统的核心命令与操作流程,涵盖基础配置、仓库管理、文件操作、分支合并、历史查看、远程同步、暂存储藏及标签管理等模块。内容包含常用命令速查表与工作流示例,旨在帮助开发者高效掌握 Git 工具,规范代码协作流程。

苹果系统发布于 2026/3/29更新于 2026/5/2825 浏览

Git 命令使用教程

一、Git 基础配置

1.1 用户信息配置
# 设置用户名
git config --global user.name "你的名字"
# 设置邮箱
git config --global user.email "你的邮箱"
# 查看所有配置
git config --list
# 查看特定配置
git config user.name
git config user.email
1.2 常用全局配置
# 设置默认编辑器为 VSCode
git config --global core.editor "code --wait"
# 设置默认合并工具
git config --global merge.tool vscode
# 设置命令行颜色显示
git config --global color.ui auto
# 设置别名(快捷命令)
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.co checkout
git config --global alias.lg "log --oneline --graph --all"

二、仓库操作

2.1 创建和克隆仓库
# 初始化本地仓库
git init
git init 项目名 # 创建目录并初始化
# 克隆远程仓库
git clone https://github.com/用户名/仓库名.git
git clone https://github.com/用户名/仓库名.git 自定义目录名
git clone --depth=1 https://github.com/用户名/仓库名.git # 浅克隆(只克隆最新版本)
# 查看远程仓库信息
git remote -v
git remote show origin
2.2 添加远程仓库
# 添加远程仓库
git remote add origin https://github.com/用户名/仓库名.git
# 修改远程仓库地址
git remote set-url origin https://github.com/用户名/新仓库名.git
# 删除远程仓库
git remote remove origin
# 重命名远程仓库
git remote rename origin new-origin

三、文件操作

3.1 添加和提交文件
# 添加文件到暂存区
git add 文件名 # 添加单个文件
git add . # 添加所有文件
git add *.js # 添加所有 js 文件
git add src/ # 添加整个目录
git add -A # 添加所有文件(包括删除的)
git add -u # 只添加已跟踪的文件
# 查看状态
git status
git status -s # 简洁模式
# 提交更改
git commit -m "提交说明"
git commit -m "标题" -m "详细描述" # 多行提交信息
# 一次性添加和提交
git commit -am "提交说明" # 只能提交已跟踪的文件
# 修改最后一次提交
git commit --amend -m "新的提交信息"
git commit --amend --no-edit # 只修改文件,不修改提交信息
3.2 查看差异
# 查看工作区和暂存区的差异
git diff
# 查看暂存区和仓库的差异
git diff --staged
git diff --cached
# 查看两次提交之间的差异
git diff commit1 commit2
git diff HEAD~1 HEAD
# 查看特定文件的差异
git diff 文件名
git diff HEAD~1 HEAD 文件名

四、分支管理

4.1 分支操作
# 查看分支
git branch # 查看本地分支
git branch -a # 查看所有分支(包括远程)
git branch -v # 查看分支详情
git branch --merged # 查看已合并的分支
git branch --no-merged # 查看未合并的分支
# 创建分支
git branch 分支名 # 创建分支
git branch 分支名 commit-id # 从指定提交创建分支
git checkout -b 分支名 # 创建并切换到分支
git switch -c 分支名 # Git 2.23+ 创建并切换
# 切换分支
git checkout 分支名
git switch 分支名 # Git 2.23+
# 重命名分支
git branch -m 旧分支名 新分支名 # 重命名当前分支
git branch -m 新分支名 # 重命名当前分支
# 删除分支
git branch -d 分支名 # 删除已合并的分支
git branch -D 分支名 # 强制删除分支
4.2 合并和变基
# 合并分支
git merge 分支名 # 合并指定分支到当前分支
git merge --no-ff 分支名 # 禁用快进合并
git merge --squash 分支名 # 压缩合并
# 变基
git rebase 分支名 # 将当前分支变基到指定分支
git rebase --continue # 继续变基操作
git rebase --abort # 中止变基操作
git rebase --skip # 跳过当前提交
# 解决冲突后继续
git add .
git rebase --continue

五、提交历史

5.1 查看历史
# 基本查看
git log
git log --oneline # 单行显示
git log --graph # 图形化显示
git log --all # 显示所有分支
# 高级查看
git log -p # 显示差异
git log --stat # 显示统计信息
git log --since="2023-01-01"
git log --until="2023-12-31"
git log --author="作者名"
git log --grep="关键词"
git log -S"函数名" # 搜索代码变更
# 组合使用
git log --oneline --graph --all
git log --pretty=format:"%h - %an, %ar : %s"
5.2 撤销操作
# 撤销工作区修改
git checkout -- 文件名 # 撤销单个文件修改
git checkout -- . # 撤销所有修改
# 撤销暂存区修改
git reset HEAD 文件名 # 从暂存区移除文件
git reset # 移除所有暂存文件
# 撤销提交
git reset --soft HEAD~1 # 撤销提交,保留修改到暂存区
git reset --mixed HEAD~1 # 撤销提交,保留修改到工作区(默认)
git reset --hard HEAD~1 # 彻底撤销提交和修改
# 创建反向提交
git revert commit-id # 创建新的提交来撤销指定提交
git revert HEAD # 撤销最新提交

六、远程操作

6.1 推送和拉取
# 推送分支
git push origin 分支名
git push -u origin 分支名 # 设置上游分支
git push origin --all # 推送所有分支
git push origin --tags # 推送所有标签
# 拉取更新
git pull origin 分支名
git pull --rebase # 使用变基方式拉取
git fetch origin # 只获取不合并
# 强制推送(谨慎使用)
git push origin 分支名 --force
git push origin 分支名 --force-with-lease # 更安全的强制推送
6.2 同步远程分支
# 获取远程分支
git fetch origin
git fetch --all
# 创建本地分支跟踪远程分支
git checkout -b 本地分支名 origin/远程分支名
git checkout --track origin/远程分支名
# 删除远程分支
git push origin --delete 分支名
git push origin :分支名 # 旧语法
# 更新远程分支列表
git remote prune origin
git fetch -p # 获取并清理

七、暂存和储藏

7.1 储藏修改
# 储藏当前修改
git stash
git stash save "储藏说明"
git stash -u # 包括未跟踪文件
# 查看储藏列表
git stash list
# 应用储藏
git stash apply # 应用最新储藏,不删除
git stash apply stash@{n} # 应用指定储藏
git stash pop # 应用并删除最新储藏
# 删除储藏
git stash drop stash@{n} # 删除指定储藏
git stash clear # 删除所有储藏
# 从储藏创建分支
git stash branch 新分支名 stash@{n}

八、标签管理

8.1 标签操作
# 查看标签
git tag
git tag -l "v1.*" # 筛选标签
# 创建标签
git tag 标签名 # 轻量标签
git tag -a 标签名 -m "说明" # 附注标签
git tag 标签名 commit-id # 给历史提交打标签
# 推送标签
git push origin 标签名
git push origin --tags # 推送所有标签
# 删除标签
git tag -d 标签名 # 删除本地标签
git push origin --delete 标签名 # 删除远程标签
git push origin :refs/tags/标签名 # 旧语法

九、高级技巧

9.1 清理和优化
# 清理未跟踪文件
git clean -n # 预览将要删除的文件
git clean -f # 删除未跟踪文件
git clean -fd # 删除未跟踪文件和目录
# 优化仓库
git gc # 垃圾回收
git prune # 删除无效对象
# 查看仓库大小
git count-objects -vH
9.2 二分查找
# 开始二分查找
git bisect start
# 标记为有问题
git bisect bad
# 标记为正常
git bisect good commit-id
# 结束二分查找
git bisect reset
9.3 子模块
# 添加子模块
git submodule add https://github.com/用户名/仓库名.git 路径
# 初始化子模块
git submodule init
git submodule update
# 更新所有子模块
git submodule update --init --recursive

十、常用工作流示例

10.1 日常开发流程
# 1. 更新本地仓库
git pull origin main --rebase
# 2. 创建功能分支
git checkout -b feature/新功能
# 3. 开发并提交
git add .
git commit -m "实现新功能"
# 4. 推送分支
git push -u origin feature/新功能
# 5. 创建 Pull Request(在 GitHub/GitLab 上操作)
# 6. 合并后清理
git checkout main
git pull origin main
git branch -d feature/新功能
10.2 修复 bug 流程
# 1. 从 main 分支创建 hotfix 分支
git checkout main
git pull origin main
git checkout -b hotfix/紧急修复
# 2. 修复并提交
git add .
git commit -m "修复紧急问题"
# 3. 合并到 main
git checkout main
git merge --no-ff hotfix/紧急修复
git push origin main
# 4. 清理分支
git branch -d hotfix/紧急修复

十一、Git 命令速查表

常用命令组合
# 查看状态简洁版
git status -s
# 一行显示提交历史
git log --oneline -10
# 图形化查看所有分支历史
git log --graph --oneline --all
# 优雅的 log 显示
git log --pretty=format:"%C(yellow)%h %C(blue)%ad %C(red)%d %C(reset)%s" --date=short
常用别名配置(添加到 ~/.gitconfig)
[alias]
st = status
ci = commit
br = branch
co = checkout
df = diff
lg = log --oneline --graph --all
last = log -1 HEAD
undo = reset --soft HEAD~1
unstage = reset HEAD --
amend = commit --amend
wip = !git add -A && git commit -m "WIP"

注意事项

  1. 谨慎使用 --force,可能会覆盖他人的工作
  2. 提交前先 pull,避免冲突
  3. 频繁提交,小步快跑
  4. 写好提交信息,遵循约定式提交
  5. 使用分支进行功能开发,保护主分支

目录

  1. Git 命令使用教程
  2. 一、Git 基础配置
  3. 1.1 用户信息配置
  4. 设置用户名
  5. 设置邮箱
  6. 查看所有配置
  7. 查看特定配置
  8. 1.2 常用全局配置
  9. 设置默认编辑器为 VSCode
  10. 设置默认合并工具
  11. 设置命令行颜色显示
  12. 设置别名(快捷命令)
  13. 二、仓库操作
  14. 2.1 创建和克隆仓库
  15. 初始化本地仓库
  16. 克隆远程仓库
  17. 查看远程仓库信息
  18. 2.2 添加远程仓库
  19. 添加远程仓库
  20. 修改远程仓库地址
  21. 删除远程仓库
  22. 重命名远程仓库
  23. 三、文件操作
  24. 3.1 添加和提交文件
  25. 添加文件到暂存区
  26. 查看状态
  27. 提交更改
  28. 一次性添加和提交
  29. 修改最后一次提交
  30. 3.2 查看差异
  31. 查看工作区和暂存区的差异
  32. 查看暂存区和仓库的差异
  33. 查看两次提交之间的差异
  34. 查看特定文件的差异
  35. 四、分支管理
  36. 4.1 分支操作
  37. 查看分支
  38. 创建分支
  39. 切换分支
  40. 重命名分支
  41. 删除分支
  42. 4.2 合并和变基
  43. 合并分支
  44. 变基
  45. 解决冲突后继续
  46. 五、提交历史
  47. 5.1 查看历史
  48. 基本查看
  49. 高级查看
  50. 组合使用
  51. 5.2 撤销操作
  52. 撤销工作区修改
  53. 撤销暂存区修改
  54. 撤销提交
  55. 创建反向提交
  56. 六、远程操作
  57. 6.1 推送和拉取
  58. 推送分支
  59. 拉取更新
  60. 强制推送(谨慎使用)
  61. 6.2 同步远程分支
  62. 获取远程分支
  63. 创建本地分支跟踪远程分支
  64. 删除远程分支
  65. 更新远程分支列表
  66. 七、暂存和储藏
  67. 7.1 储藏修改
  68. 储藏当前修改
  69. 查看储藏列表
  70. 应用储藏
  71. 删除储藏
  72. 从储藏创建分支
  73. 八、标签管理
  74. 8.1 标签操作
  75. 查看标签
  76. 创建标签
  77. 推送标签
  78. 删除标签
  79. 九、高级技巧
  80. 9.1 清理和优化
  81. 清理未跟踪文件
  82. 优化仓库
  83. 查看仓库大小
  84. 9.2 二分查找
  85. 开始二分查找
  86. 标记为有问题
  87. 标记为正常
  88. 结束二分查找
  89. 9.3 子模块
  90. 添加子模块
  91. 初始化子模块
  92. 更新所有子模块
  93. 十、常用工作流示例
  94. 10.1 日常开发流程
  95. 1. 更新本地仓库
  96. 2. 创建功能分支
  97. 3. 开发并提交
  98. 4. 推送分支
  99. 5. 创建 Pull Request(在 GitHub/GitLab 上操作)
  100. 6. 合并后清理
  101. 10.2 修复 bug 流程
  102. 1. 从 main 分支创建 hotfix 分支
  103. 2. 修复并提交
  104. 3. 合并到 main
  105. 4. 清理分支
  106. 十一、Git 命令速查表
  107. 常用命令组合
  108. 查看状态简洁版
  109. 一行显示提交历史
  110. 图形化查看所有分支历史
  111. 优雅的 log 显示
  112. 常用别名配置(添加到 ~/.gitconfig)
  113. 注意事项
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 前端独立完成产品设计全流程:掌握三大 AI 设计 Skill
  • 基于 DamoFD-0.5G 的 AR 虚拟试妆系统
  • Python 基础与 Excel 集成应用及爬虫入门指南
  • Flutter EWS 组件在鸿蒙系统的适配与实战
  • 昇腾设备部署 llama.cpp
  • JavaAI 插件安装与 Spring Boot 项目生成实战
  • 护网行动(HVV)解析:红蓝对抗机制与技术要求
  • Android 开发者与大模型技术:机遇、挑战与学习路径
  • C++ gflags 命令行参数解析与 spdlog 日志库实战
  • 阿里开源 32B 大模型 Qwen1.5 性能与实测分析
  • 优秀程序员的 7 个关键习惯
  • Ubuntu 安装 OpenClaw 的一键脚本、Docker 及源码方法
  • Stable Diffusion 使用 LoRA 模型生成逼真人物服饰教程
  • Git 推送报错“密码认证不支持”?切换到 SSH 密钥方案
  • SpringBoot 整合 Zookeeper 常见错误总结
  • LeetCode 982. 位运算三元组等于零
  • OpenClaw Linux 本地 AI 智能体部署指南
  • 前端请求后端 404/405/500 状态码排查与解决指南
  • Ollama Windows 安装与使用指南:本地运行 Llama 等模型
  • SQL 用户管理与权限控制

相关免费在线工具

  • 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