Git 命令终极指南 - 2025 开发者必备的核心指令速查

2024 年 Stack Overflow 开发者调查显示:87% 的开发者每天使用 Git,但 65% 的初级开发者表示对高级命令不熟悉。本文将成为你的 Git 命令速查手册,覆盖从基础到进阶的全场景操作指南。

无论是修复紧急 Bug 还是管理大型项目,掌握 Git 核心命令都能让你的开发效率提升数倍。本文基于 GitHub 官方文档和真实开发场景,提炼出开发者必备的黄金指令集合,助你构建完整的 Git 知识体系。


目录

  1. 仓库初始化
  2. 日常操作
  3. 分支管理
  4. 远程协作
  5. 撤销操作
  6. 查看信息
  7. 高级技巧
  8. 快速参考表

仓库初始化

命令说明示例
git init初始化新仓库git init project-name
git clone克隆远程仓库git clone https://github.com/user/repo.git
git clone –depth=1仅克隆远程仓库最新提交git clone –depth=1 https://github.com/user/repo.git

日常操作

基础工作流

git add <file>        # 添加单个文件到暂存区
git add .            # 添加所有修改
git commit -m "msg"  # 提交更改

提交修正

git commit --amend   # 修改最近一次提交(不改commit hash)

挑选提交

git cherry-pick <commit-hash>  # 将 commit-hash 的提交应用到当前分支。

分支管理

操作命令说明
创建分支git branch feat/new
切换分支git checkout main
创建+切换git checkout -b hotfix
合并分支git merge feature将feature合并到当前分支
删除分支git branch -d old-branch安全删除,如果分支的修改尚未合并到当前分支,会拒绝删除
删除分支git branch -D old-branch强制删除分支,无论是否合并。未合并的分支被删除后,相关修改将无法恢复

远程协作

git remote -v                       # 查看远程仓库
git remote add origin <repository>  # 添加远程仓库
git push origin <branch-name>       # 推送本地提交
git pull origin develop             # 拉取并合并远程变更
git fetch                           # 从远程仓库同步最新代码和分支信息, 不会删除本地已失效的远程分支引用
git fetch --prune                   # 除了 git fetch 的功能外,还会删除本地仓库中已经不存在于远程仓库的分支。

撤销操作

场景命令注意举例
丢弃工作区修改git checkout – 不可恢复!
取消暂存文件git reset HEAD 和 git reset 等效
撤销提交,但保留修改git reset –soft HEAD~1当你提交了一个 commit,但发现这个 commit 有错误,或者想要修改这个 commit 的内容时,可以使用此命令将 HEAD 指针回溯到前一个提交,然后修改工作区中的文件,重新提交。
撤销提交,并将修改放回工作区git reset –mixed HEAD~1与 git reset –soft HEAD~1 类似,但会将修改放回工作区,方便你进行修改。
彻底撤销提交,丢弃所有修改git reset –hard HEAD~1谨慎使用当你想要完全放弃之前的提交,并回到之前的状态时,可以使用此命令。暂存区和工作区都会被重置。
回退到某次提交git reset –hard a1b2c3d谨慎使用重置回 a1b2c3d
创建撤销提交git revert HEAD安全撤销方式

查看信息

git status                  # 查看当前状态
git log --oneline --graph   # 图形化提交历史
git diff                    # 比较工作目录和暂存区的更改
git diff --staged           # 比较暂存区和上次提交
git diff HEAD~3             # 比较最近3次修改
git diff <b1>..<b2>         # 比较分支b1和b2
git show abc123             # 查看具体提交内容

高级技巧

暂存修改

git stash        # 临时保存工作区
git stash pop    # 恢复最近暂存内容
git stash apply  # 应用暂存的更改
git stash list   # 查看暂存列表

重写历史

git commit --amend -m "新的提交说明" # 修改最近一次的提交说明
git rebase -i HEAD~5  # 交互式修改最近5次提交

标签管理

git tag v1.0.0         # 创建轻量标签
git push --tags        # 推送所有标签

配置文件

git config 命令有三个不同的配置级别:

  • –system:系统级配置,影响所有用户和仓库。
  • –global:全局配置,影响当前用户的所有仓库。
  • –local:仓库级配置,仅影响当前仓库。
git config --global user.name "Your Name" # 提交时用的名字
git config --global user.email "[email protected]" # 提交时用的email 
git config --global core.editor "vim"  # 默认文本编辑器, 或者 nano, emacs, code 等
git config --global diff.tool "meld"   # 默认差异比较工具,或者 vimdiff, kdiff3 等
git config --global merge.tool "meld"  # 默认合并工具,或者 vimdiff, kdiff3 等
git config --global color.ui true      # 在命令行中显示不同的颜色,以提高可读性
git config --global alias.co checkout  # 为常用的 Git 命令创建别名,以简化操作
git config --global alias.ci commit    # 为常用的 Git 命令创建别名,以简化操作
git config --global alias.br branch    # 为常用的 Git 命令创建别名,以简化操作
git config --list                      # 查看配置,git config user.name

二分法查找错误提交

git bisect start / bad / good 是一组 Git 命令,用于帮助开发者快速定位引入 Bug 或问题的提交。它通过二分查找算法,在提交历史中快速找到导致问题出现的具体提交。 命令详解

  • git bisect start:启动 git bisect 工具。
  • git bisect bad:标记当前提交为“坏的”(即包含 Bug 或问题的提交)。
  • git bisect good:标记当前提交为“好的”(即不包含 Bug 或问题的提交)。
git bisect start
git bisect bad       # 当前提交是“坏的”
git bisect good abcdefg  # abcdefg 是一个“好的”提交
# ... git bisect 会自动选择并检出提交 ...
git bisect bad       # 测试后发现是“坏的”
# ... git bisect 会继续选择并检出提交 ...
git bisect good      # 测试后发现是“好的”
# ... git bisect 最终找到导致问题出现的提交 ...
git bisect reset     # 结束 git bisect

快速参考表

类别常用命令
初始化init, clone
提交add, commit, status
分支branch, checkout, merge
远程remote, push, pull
撤销reset, revert, checkout –
查看log, diff, show

最佳实践提示:

  • 提交前务必检查git status
  • 重要修改前创建新分支
  • 慎用–force推送
  • 多用revert代替reset进行公共提交的撤销
  • 掌握这些核心命令,你已经能应对90%的日常开发场景!建议搭配实际操作练习巩固记忆。

免费推送优惠信息


🔒 无垃圾邮件,随时可退订

关于 Tanya

Tanya

Tanya 是位充满好奇心的写作者,喜欢分享设计、DIY、美食、健康与旅行的所见所闻。.

» 了解更多 Tanya