git命令手册

Top 46 现代 Git 版本控制命令行命令(按频率与重要性综合排序)

排名 命令行命令 / 参数 功能描述 例子
1 git commit 提交更改到本地仓库。最核心的操作,记录代码快照(常配 -m)。 git commit -m "feat: add user login"
2 git add 将更改添加到暂存区。提交前必经之路,精确控制要保存哪些修改。 git add . (或 git add src/App.java)
3 git push 推送到远程仓库。将本地分支的更新同步给团队共享的远程服务器。 git push origin main
4 git pull 拉取并合并。获取远程最新代码并自动与本地当前分支合并(fetch + merge)。 git pull origin main
5 git status 查看工作区状态。最高频的检查命令,明确哪些文件被修改、暂存或未追踪。 git status
6 git clone 克隆远程仓库。新员工入职或接手新项目时的第一个拉取源码指令。 git clone https://github.com/org/repo.git
7 git branch 分支管理。查看本地/远程分支列表,以及创建或删除本地分支。 git branch -a (查看所有分支)
8 git switch 切换分支 (现代推荐)。专门用于切换当前工作分支,语义比 checkout 更明确。 git switch feature/login
9 git log 查看提交历史。追溯代码变更记录,常搭配图表参数查看分支拓扑。 git log --oneline --graph --all
10 git merge 合并分支。将其他分支(如特性分支)的代码整合到当前所在分支。 git merge feature/login
11 git fetch 仅拉取远程更新。安全地获取远程代码变化但不自动合并,适合合并前预览。 git fetch origin
12 git checkout 切换/检出 (经典核心)。虽被部分替代,但由于肌肉记忆,仍被海量使用。 git checkout -b bugfix/1024
13 git diff 查看代码差异。对比工作区与暂存区、或两个提交/分支之间的具体代码变更。 git diff HEAD~1
14 git stash 暂存当前进度。临时保存尚未完成的工作,以便干净地切走处理紧急Bug。 git stash push -m "wip: auth logic"
15 git reset 重置/撤销。回退版本历史,--hard 会丢弃修改,--soft 会保留修改在暂存区。 git reset --hard HEAD~1
16 git rebase 变基操作。重塑提交历史,将分叉的提交“平铺”为一条直线,保持历史整洁。 git rebase main
17 git restore 恢复文件 (现代推荐)。撤销工作区的修改或将文件从暂存区移出。 git restore src/config.yml
18 git cherry-pick 挑选并应用提交。从其他分支精准“摘取”某个特定的 commit 应用到当前分支。 git cherry-pick a1b2c3d
19 git remote 管理远程仓库。查看、添加或修改关联的远程仓库地址。 git remote -v
20 git revert 安全撤销。通过创建一个“反向提交”来抵消某次错误提交,不修改既有历史(适合公共分支)。 git revert a1b2c3d
21 git reflog 引用日志 (终极后悔药)。记录本地所有HEAD的变动,可用于找回误删的提交或分支。 git reflog
22 git blame 追溯代码作者。查看某个文件的每一行代码是“谁在什么时间、哪个提交”引入的(甩锅利器)。 git blame src/utils.java
23 git clean 清理未追踪文件。彻底删除工作区中未被Git管理的文件(常配合 -fd 使用)。 git clean -fd
24 git tag 标签管理。为重要的里程碑(如发布版本号 V1.0.0)打上永久标记。 git tag -a v1.0.0 -m "Release v1.0.0"
25 git config 配置Git参数。设置用户名、邮箱、别名或换行符处理规则。 git config --global user.name "John"
26 git show 查看特定对象详情。显示某个提交的具体改动细节、标签信息等。 git show a1b2c3d
27 git init 初始化本地仓库。将一个普通目录转变为 Git 仓库。 git init
28 git rm 删除文件并暂存。将文件从工作区和索引中同时移除。 git rm obsolete-file.txt
29 git bisect 二分查找排错。自动化地在历史提交中进行二分定位,快速找出引入Bug的那个commit。 git bisect start
30 git worktree 多工作树管理。允许在同一个本地仓库外检出多个不同的分支目录,免去频繁切换或克隆。 git worktree add ../my-feature feature-x
31 git grep 仓库内文本搜索。极速查找代码库中是否包含某个关键字(性能优于系统grep)。 git grep "TODO"
32 git submodule 子模块管理。在一个Git仓库中嵌套并管理其他的独立Git仓库(常用于共享依赖)。 git submodule update --init --recursive
33 git shortlog 日志汇总摘要。按作者将提交记录进行分组统计,常用于生成Release Notes。 git shortlog -sn
34 git mv 移动/重命名文件。让Git直接记录文件的重命名轨迹,而不是当成“删除+新建”。 git mv old_name.txt new_name.txt
35 git archive 导出代码包。将指定分支或提交打包为zip/tar压缩文件,不包含 .git 目录。 git archive -o latest.zip HEAD
36 git gc 垃圾回收优化。清理不必要的文件并优化本地仓库,提升Git运行速度。 git gc --prune=now
37 git push --force-with-lease 安全强推。比普通强推 (-f) 更安全的选项,若远程已被他人更新则会拒绝覆盖。 git push --force-with-lease origin main
38 git describe 生成易读的版本号。基于最近的标签(tag)和提交哈希,生成当前代码库的唯一可读名称。 git describe --tags
39 git help 查阅帮助文档。在终端快速调出任意Git命令的官方手册。 git help rebase
40 git apply 应用补丁。读取 .patch 文件并将其中的修改应用到当前工作区。 git apply fix-bug.patch
41 git format-patch 生成补丁文件。将历史提交转换为可通过邮件发送或分享的标准补丁文件。 git format-patch -1 HEAD
42 git am 应用邮箱补丁。接收并应用 format-patch 生成的补丁,同时保留作者和提交信息。 git am < patch-file
43 git rev-parse 解析引用为哈希值。底层指令,常用于CI/CD脚本中获取当前分支对应的完整commit id。 git rev-parse HEAD
44 git fsck 检查仓库完整性。校验数据库中对象的连通性和有效性,排查底层损坏。 git fsck --full
45 git bundle 打包仓库离线传输。将整个历史或部分历史打包成单一文件,用于物理隔离网络间的代码同步。 git bundle create repo.bundle --all
46 git notes 添加提交附注。在不改变原始commit对象(哈希不变)的前提下,为提交补充额外的信息。 git notes add -m "Reviewed-by: Admin"

posted @ 2026-03-14 18:26  Nickey103  阅读(46)  评论(0)    收藏  举报