Git 命令大全

Git 命令大全:常用、高级与维护总结 (V3 - 更完整版)

本表格是 Git 命令的完整总结,涵盖了从基础操作、高级历史管理到仓库维护的所有重要命令。


I. 基础设置与文件操作 (Basic Workflow)

命令类别 命令 作用描述 (中文)
设置与初始化 git init 在当前目录创建 Git 仓库。
git clone [url] 克隆远程仓库。
git config --global 配置全局 Git 环境(如用户名、邮箱等)。
状态与差异 git status 查看工作区和暂存区的状态。
git status -s 简洁地显示工作区状态。
git diff 查看工作区与暂存区之间的差异 (未暂存的修改)。
git diff --staged 查看暂存区与上次提交之间的差异 (已暂存的修改)。
暂存与提交 git add [file] / . 将文件或所有更改添加到暂存区。
git commit -m "message" 提交暂存区的更改到本地仓库。
文件管理 git rm [file] 从工作区和暂存区删除文件,并记录删除。
git rm --cached [file] 仅从暂存区和仓库中删除,保留工作区文件。
git mv [old] [new] 移动或重命名文件。

II. 分支管理与远程协作 (Branching & Remote)

命令类别 命令 作用描述 (中文)
分支创建与切换 git branch 列出本地分支。
git branch [name] 创建新分支。
git branch -d [name] 删除已合并的本地分支。
git switch [branch] 切换到指定分支(推荐)。
git switch -c [new] 创建并切换到新分支(推荐)。
git checkout -b [new] 创建并切换到新分支(旧用法)。
合并与中止 git merge [branch] 将指定分支合并到当前分支。
git merge --abort 中止正在进行的合并操作。
git rebase --abort 中止正在进行的变基操作。
远程操作 git remote -v 查看已配置的远程仓库。
git remote add [name] [url] 添加新的远程仓库别名。
git remote rename [old] [new] 重命名远程仓库别名。
git remote set-url [name] [new-url] 修改远程仓库的 URL。
git fetch [remote] 下载远程数据,但不合并。
git pull 拉取远程更改并自动合并。
git push 推送本地提交到远程仓库。
git push -u [remote] [branch] 设置上游跟踪分支并推送。
git push --force 强制推送(覆盖远程历史,需谨慎)。

III. 撤销、修改与高级历史操作 (Advanced History)

命令类别 命令 作用描述 (中文)
工作区/暂存区撤销 git restore [file] 撤销工作区文件的修改。
git restore --staged [file] 取消暂存文件(等同于 git reset HEAD [file])。
git commit --amend 修改上一次提交的提交信息或内容。
版本回退 git reset --soft [commit] 软回退:HEAD 移动,保留工作区和暂存区。
git reset --mixed [commit] 默认回退:HEAD 移动,取消暂存,保留工作区。
git reset --hard [commit] 强制回退:丢弃所有本地更改(危险)。
git revert [commit] 反转提交:创建新的提交来撤销指定提交的更改(安全)。
历史优化 git rebase [branch] 变基:保持提交历史线性。
git rebase -i [commit-id] 交互式变基:用于编辑、合并、重排提交历史。
git cherry-pick [commit-id] 拣选:将指定的单个提交应用到当前分支。
多工作区 (Worktree) git worktree add [path] [branch] 添加新的工作区,允许在不同分支上同时工作。
git worktree list 列出所有已配置的工作区。
git worktree remove [path] 移除指定的工作区。
临时保存 (Stash) git stash 储藏:临时保存工作区和暂存区的修改。
git stash list 查看储藏列表。
git stash pop 恢复并删除最近一次储藏。
git stash apply 恢复储藏 的修改,但保留在储藏列表中。
git stash drop 删除储藏列表中的一个储藏。
查找与调试 git log --oneline 以简洁模式(一行)查看提交历史。
git log -p 查看提交历史及其对应的文件差异。
git reflog 查看 HEAD 的所有历史移动记录。
git bisect 二分查找:自动化地查找引入 Bug 的提交。
git describe 通过最近的标签来描述最近一次提交。

IV. 维护、标签与底层命令 (Maintenance & Plumbing)

命令类别 命令 作用描述 (中文)
标签管理 git tag [name] 创建轻量标签。
git tag -a [name] -m "msg" 创建附注标签(推荐)。
git push --tags 推送所有标签到远程。
子模块 git submodule add [url] 添加子模块。
git submodule update --init --recursive 初始化并递归更新所有子模块内容。
仓库维护 git clean -df 彻底删除未跟踪的文件和目录。
git gc 垃圾回收:清理不必要的对象文件,优化仓库。
git archive [branch] 为指定分支创建一个压缩存档文件(如 .zip.tar.gz)。
底层操作 git cat-file -p [hash] 查看 Git 对象的底层内容。
git hash-object [file] 计算文件内容的哈希值。
辅助 git check-ignore 检查文件是否被 .gitignore 忽略。
git help [command] 显示指定命令的帮助手册。
git shortlog 按作者分组显示提交摘要。

提示 : Git 命令功能强大,尤其是 reset --hardpush --force,请在操作前仔细确认,以免丢失重要代码!

相关推荐
胖大和尚5 小时前
Git初始化本地文件夹,并推送到远端
git
啵啵啵12346 小时前
Git 底层原理:分支为什么只是一个 41 字节的文件
git
demon75520037 小时前
Git Worktree详解介绍
git·worktree
胖大和尚9 小时前
当前仓库推送到同一台机器上的另一个文件夹
git
轮到我狗叫了1 天前
git - 版本控制工具 - 对应的常见命令 - 以及无需后续每次手动source conda
git
changxiang1 天前
GIT 备忘
git
DogDaoDao2 天前
Windows 开发提效工具全景指南:60+ 工具的工程化分层配置
windows·git·程序员·开发工具·powershell·everything·msys2
wdfk_prog2 天前
GitHub push 失败:如何扫描并清理 Git 历史中的大文件
git·elasticsearch·github
大明二代2 天前
使用 Traefik、cert-manager 和 DNS-01 为内网 Kubernetes 服务配置 HTTPS
git·kubernetes·flux
小芒果_012 天前
git常用命令速查
大数据·git·elasticsearch