Git 命令速查表

最全 Git 命令参考手册,按分类整理,快速查找

全部: 65 个命令

基础命令(13)

git init

在当前目录创建新的 Git 仓库

git clone <url>

克隆远程仓库到本地

git clone --depth=1 <url>

浅克隆,只获取最近一次提交

git add <file>

将文件添加到暂存区

git add .

添加所有修改到暂存区

git commit -m "message"

提交暂存区的更改

git commit --amend

修改上一次提交

git status

查看仓库当前状态

git diff

查看未暂存的更改

git diff --staged

查看已暂存的更改

git config --list

查看所有配置

git config --global user.name "name"

设置全局用户名

git config --global user.email "email"

设置全局邮箱

分支管理(14)

git branch

列出所有本地分支

git branch -a

列出所有分支(含远程)

git branch <name>

创建新分支

git branch -d <name>

删除分支

git branch -m <old> <new>

重命名分支

git checkout <branch>

切换分支

git checkout -b <branch>

创建并切换到新分支

git switch <branch>

切换分支(Git 2.23+)

git switch -c <branch>

创建并切换到新分支(Git 2.23+)

git merge <branch>

合并指定分支到当前分支

git merge --no-ff <branch>

合并分支并创建合并提交

git rebase <branch>

变基当前分支到指定分支

git rebase --continue

解决冲突后继续变基

git cherry-pick <commit>

选择特定提交合并到当前分支

远程操作(10)

git remote -v

查看远程仓库信息

git remote add <name> <url>

添加远程仓库

git fetch <remote>

获取远程仓库最新内容

git fetch --all

获取所有远程仓库更新

git pull <remote> <branch>

拉取并合并远程分支

git pull --rebase

拉取并变基

git push <remote> <branch>

推送到远程仓库

git push -f

强制推送(谨慎使用)

git push -u origin <branch>

推送并设置上游分支

git push origin --delete <branch>

删除远程分支

撤销修改(8)

git reset <file>

取消暂存文件

git reset --soft HEAD~1

撤销最近一次提交,保留更改

git reset --mixed HEAD~1

撤销提交和暂存,保留工作区

git reset --hard HEAD~1

撤销提交并丢弃所有更改

git revert <commit>

撤销指定提交(创建新提交)

git restore <file>

恢复工作区文件(Git 2.23+)

git restore --staged <file>

取消暂存文件(Git 2.23+)

git clean -fd

删除未跟踪的文件和目录

标签管理(6)

git tag

列出所有标签

git tag <name>

创建轻量标签

git tag -a <name> -m "msg"

创建附注标签

git tag -d <name>

删除本地标签

git push origin <tag>

推送标签到远程

git push --tags

推送所有标签到远程

历史查看(7)

git log

查看提交历史

git log --oneline

简洁显示提交历史

git log --oneline --graph --all

图形化显示所有分支历史

git show <commit>

显示提交详情

git blame <file>

查看文件每行的修改历史

git reflog

查看所有操作历史

git bisect start

开始二分查找问题提交

储藏(7)

git stash

储藏当前更改

git stash save "message"

带消息储藏更改

git stash list

查看所有储藏

git stash pop

应用并删除最近的储藏

git stash apply

应用最近的储藏但不删除

git stash drop

删除最近的储藏

git stash clear

删除所有储藏

什么是 Git?

Git 是一个分布式版本控制系统,由 Linus Torvalds 创建,用于管理项目代码的版本历史。它支持多人协作开发,可以追踪每次代码修改,支持分支管理和版本回退。

掌握 Git 命令是每个开发者的必备技能。本速查表整理了最常用的 Git 命令,按功能分类,方便快速查找和学习。

使用方法

点击任意命令卡片可复制该命令。使用搜索框可快速查找特定命令。点击分类标签可筛选查看特定类别的命令。

常用技巧

撤销 git add
使用 git restore --staged 或 git reset 撤销暂存
修改最后一次提交
使用 git commit --amend 可以修改最后一次提交的信息或内容
暂存工作进度
使用 git stash 临时保存工作进度,切换到其他分支处理紧急事务
撤销已推送的提交
使用 git revert 而非 git reset,避免破坏远程仓库历史
查看文件历史
使用 git log -p 查看文件的完整修改历史

常见问题 (FAQ)

Q: git pull 和 git fetch 有什么区别?

A: git fetch 只获取远程更新,不自动合并;git pull 等于 git fetch + git merge。建议先用 fetch 查看更新,再决定如何合并。

Q: 如何撤销最后一次提交?

A: 使用 git reset --soft HEAD~1 撤销提交但保留更改;使用 git reset --hard HEAD~1 完全撤销并丢弃更改。如果已推送,使用 git revert 更安全。

Q: 如何解决合并冲突?

A: 手动编辑冲突文件,选择保留的内容,然后 git add 标记为已解决,最后 git commit 完成合并。使用 git mergetool 可以可视化解决冲突。

Q: git merge 和 git rebase 有什么区别?

A: merge 创建一个合并提交,保留分支历史;rebase 将提交移到目标分支末端,使历史更线性。公共分支建议用 merge,本地分支可用 rebase。

Q: 如何删除已提交的大文件?

A: 使用 git filter-branch 或 BFG Repo-Cleaner。注意这会改写历史,需要强制推送。