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>`)。