Git 工作流进阶:从 rebase 到 worktree 的高效实践
「工具用好了,效率翻倍」——本文整理了日常开发中极为实用但常被忽视的 Git 高级用法。
为什么应该用 rebase 而不是 merge?
merge 会产生一个额外的合并提交,让历史图变得杂乱;rebase 将提交”变基”到目标分支顶端,保持线性历史。
# 在 feature 分支上,将其变基到 main 最新提交
git checkout feature/my-feature
git rebase main
# 交互式变基:合并/修改/重排最近 5 次提交
git rebase -i HEAD~5
交互式变基命令速查:
| 命令 | 含义 |
|---|---|
pick |
保留提交 |
squash / s |
合并到上一个提交 |
reword / r |
修改提交信息 |
drop / d |
删除提交 |
fixup / f |
合并但丢弃提交信息 |
git worktree:同时检出多个分支
当你需要同时查看/修改两个分支时,无需 stash 或克隆多份仓库:
# 在 ../hotfix 目录检出 hotfix/v2.1 分支
git worktree add ../hotfix hotfix/v2.1
# 查看所有 worktree
git worktree list
# 完成后删除
git worktree remove ../hotfix
常用别名配置(放入 ~/.gitconfig)
[alias]
lg = log --oneline --graph --decorate --all
st = status -sb
unstage = reset HEAD --
undo = reset --soft HEAD~1
save = stash push -m
下一篇预告
- Docker 多阶段构建:把镜像体积从 1GB 压到 50MB
- Vim 配置:打造适合系统开发的终端 IDE