Git 命令速查
全部
命令 | 说明 |
|---|
git init | 在当前目录初始化仓库 |
git clone <url> | 克隆远程仓库 |
git config --global user.name "名" | 设置全局用户名 |
git config --global user.email "邮箱" | 设置全局邮箱 |
git config --global init.defaultBranch main | 新仓库默认分支设为 main |
git status | 查看工作区状态 |
git add <文件> | 暂存指定文件 |
git add . | 暂存全部改动 |
git commit -m "说明" | 提交暂存区内容 |
git commit -am "说明" | 跳过 add,直接提交已跟踪文件的改动 |
git commit --amend | 修补上一次提交(改说明或补文件) |
git diff | 查看未暂存的改动 |
git diff --staged | 查看已暂存未提交的改动 |
git branch | 列出本地分支 |
git branch <名> | 创建分支 |
git switch <名> | 切换分支 |
git switch -c <名> | 创建并切换分支 |
git merge <名> | 把指定分支合并进当前分支 |
git rebase <基线> | 把当前分支变基到指定基线 |
git branch -d <名> | 删除已合并的分支 |
git branch -D <名> | 强制删除分支 |
git remote -v | 查看远程仓库地址 |
git remote add origin <url> | 添加远程仓库 |
git fetch | 拉取远程更新但不合并 |
git pull | 拉取并合并(= fetch + merge) |
git pull --rebase | 拉取并变基,避免多余合并提交 |
git push | 推送当前分支 |
git push -u origin <名> | 首次推送并建立跟踪关系 |
git push --force-with-lease | 安全强推(远程有他人提交时拒绝) |
git log --oneline | 单行简洁日志 |
git log --graph --oneline --all | 带分支图的全部历史 |
git show <提交> | 查看某次提交详情 |
git blame <文件> | 逐行查看最后修改者 |
git reflog | 查看 HEAD 移动史(找回丢失提交) |
git restore <文件> | 丢弃工作区改动 |
git restore --staged <文件> | 取消暂存(保留改动) |
git reset --soft HEAD~1 | 回退 1 次提交,改动保留在暂存区 |
git reset --mixed HEAD~1 | 回退 1 次提交,改动保留在工作区 |
git reset --hard HEAD~1 | 回退 1 次提交并丢弃全部改动(危险) |
git revert <提交> | 生成反向提交抵消指定提交(安全) |
git checkout <提交> -- <文件> | 从历史提交恢复单个文件 |
git stash | 把当前改动存入暂存栈 |
git stash pop | 恢复最近一次暂存的改动并删除记录 |
git stash list | 查看暂存栈 |
git tag <名> | 打轻量标签 |
git tag -a v1.0 -m "说明" | 打附注标签 |
git push --tags | 推送全部标签 |
git cherry-pick <提交> | 摘取单个提交到当前分支 |
点击任意行可复制命令