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
,也就是在两个分支之间来回切换