以下是 Git 常用命令的整理表格,按功能分类,便于查阅:
| 类别 | 命令 | 说明 |
|---|---|---|
| 配置 | git config --global user.name "Your Name" | 设置全局用户名 |
git config --global user.email "email@example.com" | 设置全局邮箱 | |
git config --list | 查看当前配置 | |
| 初始化 | git init | 初始化一个新的 Git 仓库 |
git clone <url> | 克隆远程仓库到本地 | |
| 查看状态 | git status | 查看工作区状态(哪些文件被修改、暂存等) |
| 添加与提交 | git add <file> | 将指定文件添加到暂存区 |
git add . | 添加当前目录所有更改到暂存区 | |
git commit -m "commit message" | 提交暂存区内容到本地仓库,并附带提交信息 | |
| 查看历史 | git log | 查看提交历史(详细) |
git log --oneline | 以单行形式显示提交历史 | |
git log --graph --all --oneline | 图形化显示所有分支的提交历史 | |
| 差异比较 | git diff | 查看工作区与暂存区之间的差异 |
git diff --staged 或 git diff --cached | 查看暂存区与最新提交之间的差异 | |
| 撤销操作 | git checkout -- <file> | 丢弃工作区对文件的修改(恢复到最近一次提交状态) |
git reset HEAD <file> | 从暂存区移除文件(但保留工作区修改) | |
git reset --hard HEAD~1 | 回退到上一个提交(会丢失最近一次提交的所有更改)⚠️慎用 | |
| 分支管理 | git branch | 列出本地所有分支 |
git branch <branch-name> | 创建新分支 | |
git checkout <branch-name> | 切换到指定分支 | |
git switch <branch-name> | (Git 2.23+)切换分支(推荐替代 checkout) | |
git checkout -b <branch-name> | 创建并切换到新分支 | |
git branch -d <branch-name> | 删除已合并的分支 | |
git branch -D <branch-name> | 强制删除分支(即使未合并) | |
git merge <branch-name> | 合并指定分支到当前分支 | |
| 远程操作 | git remote -v | 查看远程仓库地址 |
git remote add origin <url> | 添加远程仓库(通常命名为 origin) | |
git push -u origin <branch> | 首次推送本地分支到远程,并设置上游跟踪 | |
git push | 推送当前分支到关联的远程分支 | |
git pull | 拉取远程更新并自动合并(相当于 fetch + merge) | |
git fetch | 获取远程更新但不合并 | |
| 标签管理 | git tag | 列出所有标签 |
git tag <tagname> | 创建轻量标签 | |
git tag -a <tagname> -m "message" | 创建带注释的标签 | |
git push origin <tagname> | 推送指定标签到远程 | |
git push origin --tags | 推送所有标签到远程 | |
| 其他实用命令 | git stash | 临时保存当前工作区和暂存区的修改 |
git stash pop | 恢复最近一次 stash 的内容 | |
git reflog | 查看 HEAD 变更记录(可用于找回“丢失”的提交) | |
git show <commit-id> | 显示某次提交的详细信息 |
💡提示:
- 使用
git help <command>可查看具体命令的帮助文档。- 对于新手,建议避免使用
--hard等破坏性操作,除非明确知道后果。
如需针对特定场景(如协作开发、回滚发布等)的命令组合,也可以进一步说明!