要在 Git 中切换分支,你可以使用 git checkout 命令。

a.创建新分支并切换到该分支

如果你想要创建一个新分支并立即切换到该分支,可以使用以下命令:

git checkout -b 新分支名
  • 这会创建一个名为 新分支名 的新分支,并将你的工作目录和状态切换到这个新分支。

b.切换到已存在的分支

如果你想切换到已存在的分支,可以使用以下命令:

git checkout 已存在的分支名
  • 这会将你的工作目录和状态切换到指定的已存在分支。

c.注意

在 Git 中切换分支前,请确保你的工作目录是干净的,没有未提交的更改。如果有未提交的更改,可以使用

git stash # 命令将这些更改暂存起来,然后再切换分支git stash# 暂存当前的更改git checkout 分支名 # 切换到另一个分支git stash pop# 切换原分支后,恢复之前暂存的更改
  • 这样可以在不丢失当前更改的情况下切换到另一个分支。

场景:
企业中,一个服务经常是多人开发,所以会有很多分支,这个时候你新建的分支上写了很多代码但是还未提交,突然你的宝贝儿叫你在分支(比如:v202311_aliyun 上打个包),于是你急急忙忙切换到了v202311_aliyun分支,突然出现图1 1

此处直接选择 Rebase onto Remote 即可 ;但是下次切换分支仍会出问题,这时候我们就要用到 git stash # 命令将这些更改暂存起来,然后再切换分支 执行完后发现 本地未提交的都暂存起来看不见了
这个时候我们再去切换分支已经没有任何问题,但是等我们切回原先分支如何把 暂存的代码显示出来呢?这就要执行git stash pop命令 ,然后刷新 工程即可展示。


    • a. 这个提示意味着你的本地分支 springboot-learn 包含一些在远程 origin/springboot-learn 分支上不存在的提交.
      b. 这可能是因为其他人或者你在本地做了一些提交,但还没有推送到远程仓库
      c. Git 给出的建议是要么将本地分支上的提交变基(rebase)到远程分支上[Rebase onto Remote],让两个分支的提交历史保持一致,要么放弃本地的提交并从远程分支拉取最新的更改[Drop Local Commits]。

    ↩︎