分支基础操作
日常开发里,分支操作其实就三件事:从对的基线切出来、在对的分支上开发、用完及时合并和清理。
场景 1:从主干切一个新功能分支
切分支之前,先确认主干是最新的。
shell
git switch main
git pull --ff-only
git switch -c feature/login-form如果你还在用老命令,上面三步对应的就是:
shell
git checkout main
git pull
git checkout -b feature/login-form第一次把这个分支推到远程:
shell
git push -u origin feature/login-form
场景 2:查看本地分支和远程跟踪关系
shell
git branch
git branch -v我更常用 git branch -v,因为它除了能看本地分支,还能看到每个分支当前跟踪的是哪个远程分支,以及和远程相比是领先还是落后。
场景 3:需求做完了,把功能分支合回主干
最朴素的做法是:
shell
git switch main
git pull --ff-only
git merge feature/login-form
git push如果团队通过 PR 合并,这一步通常是在平台上点按钮完成;本地更常见的动作是先把功能分支同步好,再发起合并。
INFO
如果你想在合并前整理提交历史,不要直接在这里硬合,先看 rebase。
场景 4:分支名起错了,直接改
只改本地分支名
shell
git branch -m feature/logn-form feature/login-form本地和远程一起改
shell
git branch -m feature/logn-form feature/login-form
git push origin --delete feature/logn-form
git push -u origin feature/login-form场景 5:功能已经合完,删除旧分支
shell
git switch main
git branch -d feature/login-form
git push origin --delete feature/login-form如果 Git 提示本地分支还没被合并,说明它认为这条分支上的提交还有丢失风险。这个时候先别急着 -D,先看看到底是不是你还需要的历史。
常见坑
- 从过期的
main上切分支,后面补同步会增加无意义冲突 - 工作区有未提交改动时直接切分支,容易把现场带脏
- 分支已经合并了,但本地和远程都不清理,时间久了会越来越难找


