初始化与配置仓库初始化、用户信息与远程地址配置

命令用途与说明
在当前目录创建一个新的 Git 仓库。
把远程仓库完整复制到本地。 可加 --depth 1 只拉取最新提交,适合大仓库。
配置提交时使用的用户名。
配置提交时使用的邮箱。
列出当前生效的全部 Git 配置。
列出已配置的远程仓库地址。
为本地仓库添加名为 origin 的远程仓库。

日常操作查看状态、暂存、提交与推送

命令用途与说明
查看工作区与暂存区中文件的改动情况。
以简短格式列出文件改动。
把当前目录及其子目录的更改加入暂存区。 指定文件时用 git add <file>,避免误提交无关文件。
把暂存区内容提交为一个新版本。
修改上一次提交的信息或把遗漏内容并入上一次提交。
把本地提交推送到远程仓库。 首次推送新分支可用 git push -u origin <branch>。
拉取远程提交并把自己的提交变基到最新,历史更清晰。
只下载远程提交,不改变当前工作区。

分支与合并分支创建切换、合并与变基

命令用途与说明
列出本地分支,当前分支前带星号。
列出本地与远程全部分支。
创建新分支并立即切换过去,推荐用于功能开发。
切换到已存在的分支。
删除已合并的分支;未合并需改用 -D 强制删除。
把指定分支的提交合并到当前分支。
把当前分支的提交重放到目标分支之上,形成线性历史。

撤销与修复回退提交、撤销更改与清理

命令用途与说明
将工作区中的指定文件恢复为暂存区版本,丢弃该文件尚未暂存的改动。
把文件从暂存区移回工作区,内容不变。
撤销上一次提交,但保留改动到暂存区。
撤销上一次提交,改动回到工作区(默认模式)。
移动分支指针并重置暂存区和工作区;未提交的改动可能丢失。提交有时可通过 reflog 找回。 若已推送,应改用 git revert 而不是 reset。
生成一个反向提交来抵消指定提交,适合已推送的历史。
删除未跟踪的文件与目录,操作前先用 git clean -nd 预览将删除的路径。
把未提交改动暂存起来,切分支后再用 git stash pop 恢复。

查看历史提交记录、差异与文件追溯

命令用途与说明
每行一条简短提交记录。
用图形直观展示分支走向与提交关系。
查看工作区相对暂存区的改动;加 --staged 查看已暂存改动。
查看某次提交的完整信息与改动内容。
逐行显示文件每行代码的最后修改者与提交。
按提交信息关键词搜索历史记录。

远程协作远程仓库、标签与多人协作

命令用途与说明
推送分支并建立与远程分支的跟踪关系。
删除远程仓库上的指定分支。
列出仓库中的全部标签。
创建附注标签并推送到远程。
仅获取远程某个分支的最新提交。

选择命令可复制。

Git 命令速查

速查 41 条高频 Git 命令,按使用场景分类,支持关键词搜索与一键复制。

使用说明

三步完成操作

  1. 01 · 浏览分类

    按初始化配置、日常操作、分支合并、撤销修复等分类查找命令。

  2. 02 · 搜索定位

    输入关键词如 push 或 回退,即可过滤出匹配的命令。

  3. 03 · 复制命令

    点击命令文本即可复制,先替换尖括号中的参数,再按项目情况使用。

常见问题

使用前先了解这些

switch 和 checkout 有什么区别?

git switch 是 Git 2.23 起专门用于切换分支的命令,语义清晰;checkout 职责较多,既切分支也恢复文件,新项目建议使用 switch 和 restore。

pull --rebase 与直接 pull 有何不同?

pull 会获取远程更新,再根据配置选择合并或变基;合并也可能是快进。--rebase 明确把本地提交重放到远程分支之后。

不小心 reset --hard 后还能找回吗?

只要提交还在 reflog 中就能找回:先用 git reflog 找到提交哈希,再用 git branch recovered <hash> 建立恢复分支。未提交的改动通常无法通过 reflog 恢复。