Q:本地分支develop不小心被删了,怎么办 !!?
A:不要慌,使用 git branch new_develop 5fs3424 重新创建一个新分支,那個 5fs3424 是怎么来的。通常在删掉分支的时候,会有这样的提示:
COPY
1 | git branch -D develop |
Q:A分支想要合并B分支的某个commit ?
A:在A分支上 git cherry-pick 5fs3424,5fs3424为B分支上commit值,当然也可以接多个~
Q:敲了一半代码, 要切另一个分支改紧急bug怎么办 ?
A:可以使用 git stash 将目前的进度保存,等切回分支后再使用 git stash pop 找回,git stash list 可以查看目前已保存的多个进度。
也可以使用 git commit 提交到本地仓库,等切回分支后再使用 git reset 把 commit 拆开来继续做。
Q: git swith切换分支
A: 为了避免在使用 git checkout命令切换分支跟恢复文件等功能产生混淆,git 2.23 版本新增了 switch 命令,用于切换分支。
具体使用如下:
- 切换分支
git switch branch_a表示切换到branch_a分支
- 创建新分支并切换到改分支:
git switch -c branch_a表示创建新的branch_a分支并进行切换,等同于git checkout -b branch_a
- 以某个commit创建分支:
- 根据
git log获取到某个commitId,执行git switch branch_a commitId,表示基于commitId创建一个新分支branch_a
- 以某个tag创建分支:
git switch branch_a tag与以某个commit 创建分支大致相同,只不过commitId需要改为某个tag
- 切换到上一个分支:
git switch -
- 当我们在
branch_a分支使用git switch branch_b切换到branch_b分支后,使用git switch -即可再次切换回branch_a分支,到了branch_a分支使用git switch -切换回branch_b,也就是在两个分支之间来回切换