Git 命令速查表
Git 常用命令速查:clone、add、commit、branch、merge、rebase、stash 等高频命令对照,附中文说明,日常版本控制时快速查阅。
| 命令 | 说明 |
|---|---|
| git init | 初始化一个新的仓库 |
| git clone | 克隆远程仓库到本地 |
| git config | 配置用户名/邮箱等 |
| git status | 查看工作区状态 |
| git add | 暂存改动(-A 全部) |
| git commit | 提交暂存区改动(-m 信息) |
| git push | 推送提交到远程 |
| git pull | 拉取并合并远程改动 |
| git fetch | 仅获取远程更新不合并 |
| git branch | 列出/创建分支 |
| git checkout | 切换分支或恢复文件 |
| git switch | 切换分支(更语义化) |
| git merge | 合并指定分支到当前 |
| git rebase | 将提交变基到另一分支 |
| git stash | 暂存未完成的改动 |
| git log | 查看提交历史(--oneline) |
| git diff | 查看改动差异 |
| git reset | 重置到某次提交(--soft/--hard) |
| git revert | 用新提交撤销某次改动 |
| git cherry-pick | 拣选某个提交到当前分支 |
| git tag | 打标签(版本标记) |
| git remote | 管理远程仓库(-v 查看) |
| git clean | 删除未跟踪文件(-fd 强制) |
| git rm | 停止跟踪并删除文件 |
| git show | 查看某次提交/对象详情 |
常见问题
merge 和 rebase 有什么区别?
merge 会生成一个合并提交,保留分支分叉的完整历史;rebase 把当前分支的提交"重放"到目标分支之上,得到线性历史,但会改写已有提交的哈希,不要对已推送的共享分支 rebase。
如何撤销最后一次提交?
想保留改动用 `git reset --soft HEAD~1`;想彻底丢弃用 `git reset --hard HEAD~1`;更安全的做法是 `git revert HEAD` 生成一个撤销提交。
如何临时保存未完成的改动?
用 `git stash` 把工作区改动藏起来,`git stash pop` 恢复。可多次 stash,用 `git stash list` 查看。
如何把某个文件从暂存区撤回?
用 `git reset HEAD <file>` 取消暂存(改动仍保留在工作区);若想同时丢弃改动则用 `git checkout -- <file>`(或 `git restore <file>`)。