📋 速查表
创建与配置
| 命令 | 说明 |
|---|---|
| git init | 初始化新仓库 |
| git clone <url> | 克隆远程仓库 |
| git config --global user.name "名字" | 设置全局用户名 |
| git config --global user.email "邮箱" | 设置全局邮箱 |
| git config --list | 查看所有配置 |
日常操作
| 命令 | 说明 |
|---|---|
| git status | 查看当前状态 |
| git add <file> | 添加文件到暂存区 |
| git add . | 添加所有修改到暂存区 |
| git add -p | 交互式添加(逐块选择) |
| git commit -m "信息" | 提交暂存区的内容 |
| git commit -am "信息" | 添加已跟踪文件并提交 |
| git diff | 查看工作区 vs 暂存区差异 |
| git diff --staged | 查看暂存区 vs 最后提交差异 |
| git log --oneline --graph --all | 查看好看的提交历史 |
分支操作
| 命令 | 说明 |
|---|---|
| git branch | 列出本地分支 |
| git branch <name> | 创建新分支 |
| git branch -d <name> | 删除已合并的分支 |
| git branch -D <name> | 强制删除分支 |
| git switch <branch> | 切换分支 |
| git switch -c <name> | 创建并切换到新分支 |
| git merge <branch> | 合并指定分支到当前分支 |
| git merge --no-ff <branch> | 强制创建合并提交 |
| git rebase <branch> | 变基到指定分支 |
| git rebase -i HEAD~n | 交互式变基最近 n 个提交 |
远程操作
| 命令 | 说明 |
|---|---|
| git remote -v | 查看远程仓库 |
| git remote add origin <url> | 添加远程仓库 |
| git fetch origin | 下载远程更新(不合并) |
| git pull | 下载并合并远程更新 |
| git pull --rebase | 下载并变基 |
| git push | 推送到远程 |
| git push -u origin <branch> | 推送并设置跟踪关系 |
| git push --tags | 推送所有标签 |
撤销与修复
| 命令 | 说明 |
|---|---|
| git restore <file> | 丢弃工作区的修改 |
| git restore --staged <file> | 从暂存区撤回 |
| git reset --soft HEAD~1 | 回退提交(保留暂存区和工作区) |
| git reset --mixed HEAD~1 | 回退提交和暂存区(保留工作区) |
| git reset --hard HEAD~1 | 全部回退(⚠️ 不可恢复) |
| git revert <commit> | 创建新提交来撤销指定提交 |
| git reflog | 查看 HEAD 的所有移动记录 |
| git stash | 临时保存当前修改 |
| git stash pop | 恢复并删除最近的 stash |
高级操作
| 命令 | 说明 |
|---|---|
| git cherry-pick <commit> | 精确移植指定提交 |
| git bisect start | 开始二分查找定位 bug |
| git blame <file> | 查看文件每行的最后修改者 |
| git grep <pattern> | 在代码中搜索 |
| git tag -a <tag> -m "..." | 创建附注标签 |
| git submodule add <url> | 添加子模块 |
| git gc | 垃圾回收和打包 |
| git clean -fd⚠️ 先用git clean -n预览 | 删除未跟踪的文件和目录 |
| git diff <a>..<b> --stat | 查看两个提交的文件变更统计 |
| git shortlog -sn | 查看每个作者的提交数量 |
给新手的最后建议
💡 提示:
- 勤提交—— 每完成一个小功能就提交一次,别攒着。提交越小,出了问题越容易定位。2. 写好提交信息—— 三个月后的你会感谢现在写清楚提交信息的你。3. 先 pull 再 push—— 养成好习惯,减少冲突。4. 不要怕犯错—— Git 几乎所有操作都可以撤销(除了git push --force和git reset --hard)。大胆尝试!5. 学会用 reflog—— 它是你的"后悔药",无论怎么搞砸,reflog 都能帮你找回。6. 多练多用—— Git 就像游泳,看教程看不会的,得自己下水扑腾。