Git 速查表
Git 常用命令速查——分支、合并、变基与工作流
git init在当前目录初始化新的 Git 仓库
git clone <url>克隆远程仓库
git clone --depth 1 <url>浅克隆(仅最新提交),加快下载
git config --global user.name "Name"为所有仓库设置用户名
git config --global user.email "[email protected]"为所有仓库设置邮箱
git config --global core.editor vim设置提交信息的默认编辑器
git config --global init.defaultBranch main设置新建仓库的默认分支名
git config --list列出所有配置项
git config --global alias.co checkout创建 Git 别名(co → checkout)
git config --global credential.helper cache在内存中临时缓存凭据
git status显示工作区状态(已修改、已暂存、未跟踪)
git add <file>暂存指定文件以提交
git add .暂存当前目录下的所有更改
git add -p交互式暂存文件的局部内容(逐块)
git commit -m "message"提交已暂存的更改并附带说明
git commit -am "message"暂存所有已跟踪文件并一步提交
git commit --amend修改最近一次提交(信息或文件)
git diff显示未暂存的更改
git diff --staged显示已暂存的更改(待提交)
git diff HEAD~3将工作区与 3 个提交前对比
git push推送提交到远程分支
git pull拉取并合并远程更改到当前分支
git pull --rebase拉取远程并将本地提交变基到其上方
git fetch下载远程更改但不合并
git branch列出所有本地分支
git branch -a列出所有分支(本地和远程)
git branch <name>创建新分支
git branch -d <name>删除已合并的分支
git branch -D <name>强制删除未合并的分支
git branch -m <old> <new>重命名分支
git switch <branch>切换到已有分支
git switch -c <branch>创建并切换到新分支
git checkout <branch>切换分支(经典语法)
git checkout -b <branch>创建并切换到新分支(经典语法)
git merge <branch>将分支合并到当前分支
git merge --no-ff <branch>使用合并提交进行合并(禁用快进)
git rebase <branch>将当前分支变基到另一分支
git rebase --abort中止正在进行的变基
git rebase --continue解决冲突后继续变基
git cherry-pick <commit>将指定提交应用到当前分支
git remote -v列出远程仓库及 URL
git remote add origin <url>添加新的远程仓库
git remote rename origin upstream重命名远程仓库
git remote remove <name>删除远程仓库
git remote set-url origin <url>更改远程仓库 URL
git push -u origin <branch>推送分支并设置上游跟踪
git push origin --delete <branch>删除远程分支
git fetch --all从所有已配置的远程拉取
git fetch --prune拉取并清除过期的远程跟踪分支
git pull origin main从指定远程分支拉取更改
git push --force-with-lease安全强制推送(远程有更新则失败)
git log显示提交历史
git log --oneline显示紧凑的单行提交历史
git log --oneline --graph --all显示所有分支的分支图
git log -p -2显示最近 2 次提交的差异
git log --author="Name"按作者筛选提交
git log --since="2 weeks ago"显示最近 2 周的提交
git log --stat显示提交历史及文件变更统计
git show <commit>显示指定提交的详情和差异
git blame <file>显示文件每行最后修改者
git shortlog -sn按作者显示提交数(已排序)
git reflog显示 HEAD 移动历史(恢复工具)
git diff <branch1>..<branch2>比较两个分支
git log --all --grep="fix"在提交信息中搜索关键词
git restore <file>丢弃文件的未暂存更改
git restore --staged <file>取消暂存文件(保留工作区更改)
git reset HEAD~1撤销上次提交,保留已暂存更改
git reset --soft HEAD~1撤销上次提交,保留已暂存更改
git reset --hard HEAD~1撤销上次提交并丢弃所有更改
git reset --hard origin/main重置分支以匹配远程(会丢失本地更改)
git revert <commit>创建新提交以撤销指定提交
git clean -fd删除未跟踪的文件和目录
git clean -fdn模拟运行——显示将被删除的内容
git rm --cached <file>从暂存区移除文件(保留磁盘文件)
git checkout <commit> -- <file>从指定提交恢复文件
git stash保存未提交的更改并清空工作区
git stash push -m "description"暂存更改并添加描述信息
git stash list列出所有 stash 记录
git stash pop应用最新 stash 并从列表中移除
git stash apply应用最新 stash 但保留在列表中
git stash apply stash@{2}按索引应用指定 stash
git stash drop stash@{0}删除指定 stash
git stash clear清除所有 stash 记录
git stash show -p显示最新 stash 的差异
git stash branch <branch>从 stash 创建分支
git tag列出所有标签
git tag v1.0.0创建轻量标签
git tag -a v1.0.0 -m "Release 1.0"创建带说明的附注标签
git tag -a v1.0.0 <commit>为指定提交创建标签
git tag -d v1.0.0删除本地标签
git push origin v1.0.0推送指定标签到远程
git push origin --tags推送所有本地标签到远程
git push origin --delete v1.0.0删除远程标签
git show v1.0.0显示标签信息
git describe --tags描述当前提交相对于最近标签的位置
git submodule add <url> path/向仓库添加子模块
git submodule init初始化子模块配置
git submodule update拉取并检出子模块提交
git submodule update --init --recursive递归初始化并更新所有子模块
git submodule foreach git pull在所有子模块中拉取最新更改
git submodule status显示所有子模块状态
git submodule deinit path/注销子模块
git rm path/从仓库中移除子模块
git bisect start开始二分查找引入 bug 的提交
git bisect good <commit>标记提交为不含 bug
git bisect bad <commit>标记提交为含 bug
git bisect reset结束 bisect 并返回原 HEAD
git worktree add ../feature feature-branch为分支创建关联工作树
git worktree list列出所有关联工作树
git archive --format=zip HEAD > repo.zip将仓库导出为 zip 归档
git grep "pattern"在已跟踪文件中搜索模式
git format-patch -3为最近 3 次提交生成补丁文件
git apply patch.patch应用补丁文件
git rev-parse HEAD显示当前提交的完整 SHA
git gc运行垃圾回收以优化仓库
所示命令适用于 Git 2.x 及以上版本。
相关工具
Git 速查表
一份免费、可搜索的Git速查表,将最实用的命令、参数和快捷方式集中在一处。快速查阅语法、复制命令,更高效地掌握Git 版本控制——既适合新手,也是熟练用户的便捷参考。
FAQ
- 这份Git速查表免费吗?
- 免费。整份速查表均可免费浏览和复制,无需注册。
- 可以搜索特定命令吗?
- 可以。使用搜索即可即时筛选Git命令,直接跳转到你需要的语法。
- Git速查表适合谁使用?
- 它适合所有人——从正在学习Git 版本控制的新手,到想快速回顾不常用参数和快捷方式的高级用户。