phpstorm中新建分支勾选checkout branch可一步完成创建与检出;重命名本地分支需手动同步远程;切换分支时smart checkout会暂存未提交更改,force checkout则直接丢弃。

怎么快速创建并切换到新分支
PhpStorm 里新建分支不是“先建再切”,而是一步到位:只要勾选 Checkout branch,分支创建完就自动检出,工作区代码立刻更新。不勾这个选项,分支虽建成了,但你还留在原分支,容易误提交。
- 最常用路径:点击顶部 Git 分支 widget(显示当前分支名那个按钮),选
New Branch - 想从某个历史提交建分支?打开
Git Log视图,右键目标commit→New Branch - 输入分支名时,PhpStorm 会根据已有分支智能推荐前缀(比如
feat/、fix/),别忽略——它能帮你统一命名规范 - 远程分支不能直接作为新分支起点;得先
Fetch,让它出现在Remote Branches节点下,再右键选New Branch from Selected
重命名本地分支后,远程分支没同步怎么办
重命名只改本地,远程仍保留旧名。这不是 bug,是 Git 的设计逻辑:远程分支是独立引用,不会随本地改名自动更新。
- 重命名时,对话框里勾选
Unset upstream branch,否则旧远程跟踪关系还在,后续git push可能报错“no upstream configured” - 推新分支:重命名后首次推送,用
git push --set-upstream origin 新分支名(PhpStorm 会在你点 Push 时自动补全这个参数) - 删旧远程分支:等新分支确认可用后,手动执行
git push origin --delete 旧分支名,PhpStorm 不提供一键删除远程分支的 UI - 别在重命名后立刻
Merge或Rebase,因为上游指针还没更新,容易把提交弄乱
切换分支时提示“Smart Checkout”还是“Force Checkout”
这是 PhpStorm 在保护你未提交的修改。选错会导致代码丢失,尤其当你正在调试或临时加了 console.log 类调试代码时。
-
Smart Checkout:自动Shelve当前未提交变更 → 切分支 → 再Unshelve。如果新分支也有同名文件改动,会弹合并冲突窗口 -
Force Checkout:直接丢弃所有未提交改动,不可逆。仅适用于你明确知道那些修改已无价值(比如试错代码) - 如果你常做实验性修改,建议提前把调试代码加到
.gitignore或用git update-index --skip-worktree标记敏感文件,避免每次都被 Shelved - 多仓库项目中,切换前注意顶部 Git widget 显示的是哪个 repo —— 它可能默认只显示主仓库分支
分支太多看花眼,怎么只留关键分支
PhpStorm 默认展开全部分支,但你真正高频使用的可能就三五个。靠滚动查找效率低,还容易点错。
- 按
Ctrl+F聚焦搜索框,输名字实时过滤;搜完按Esc退出,不用关窗口 - 右键分支名 →
Add to Favorites(或悬停点星标 / 按Space),收藏分支永远置顶,不受“最近 5 个”或字母序干扰 - 远程分支太多?右键
Remote Branches节点 →Hide Remote Branches,需要时再点开,视觉干扰少很多 - 别依赖“删除分支”来清理列表——删了本地分支,远程还在;删了远程,本地跟踪引用还在。真正干净的做法是:先
git fetch --prune,再刷新分支面板
git checkout -b;你以为“Rename”只是改个名,其实它调用了 git branch -m 并可能断开上游。这些细节不暴露给用户,但一旦出问题,就得懂底层命令才能救回来。php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











