源代码库切换分支命令怎么用
在日常开发中,你可能同时在处理多个功能或修复不同问题,这时候 Git 的分支功能就派上用场了。每个人都会遇到需要从一个分支跳到另一个分支的情况,比如从 main 切到 feature/user-login 开发新功能,或者临时切到 bugfix/header-error 修复线上问题。
最常用的切换分支命令就是 git checkout 和较新的 git switch。这两个命令都能完成任务,但用法略有不同。
使用 git checkout 切换分支
这是老手们最熟悉的命令。假设你现在在 main 分支,想切换到已存在的 dev 分支:
git checkout dev这条命令会把工作区内容更新为 dev 分支的最新状态。前提是你的本地已经有这个分支。如果还没拉取过,得先获取远程信息。
使用 git switch 更现代的方式
Git 2.23 版本之后引入了 git switch,专门用来切换分支,语义更清晰。还是切换到 dev 分支:
git switch dev看起来和 checkout 差不多,但它不会像 checkout 那样还能用来恢复文件,职责更单一,不容易误操作。
切换到远程分支
有时候你想切换的是远程仓库上的新分支,比如同事推送了 feature/payment,你本地还没有。可以直接切过去:
git switch feature/payment如果提示分支不存在,先运行 git fetch 同步远程信息。然后再切:
git fetch
git switch feature/paymentGit 会自动识别这是远程分支,并在本地创建对应的跟踪分支。
创建并切换新分支
如果你想基于当前代码开个新功能分支,比如叫 feature/profile-edit,可以这样:
git switch -c feature/profile-edit这里的 -c 表示创建新分支。等价于旧方式:
git checkout -b feature/profile-edit两种写法效果一样,只是 switch 更直观,不容易记混。
快速回到上一个分支
你在 main 上突然切到 dev 改东西,改完想马上回 main,不用记分支名,用:
git switch -这个“短横线”代表上一个所在分支,就像终端里的 cd - 一样方便。
常见问题处理
切换分支时如果提示“本地修改会丢失”,是因为当前有未提交的更改。Git 不允许直接切换,避免改动被覆盖。解决办法有两个:要么提交更改:
git add .
git commit -m "临时保存"要么暂时存起来:
git stash
git switch main
git stash pop用 stash 把改动压入栈,切完分支再弹出来,干净利落。