git 分支 | 青训营笔记

76 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天

开始使用分支

在 git 中使用分支很简单,只要使用 git branch 命令即可

$ git branch
* master

如果 branch 后面没有参数,它只会输出当前这个项目中有哪些分支,git 默认会设置一个 master 的分支,前面的星号代表当前处于这个分支上

新建分支

如果需要增加一个分支,就可以在 git branch 后面跟上想要的分支的名称

$ git branch cat
$ git branch
  cat
* master

可以看出,确实多了一个 cat 分支,但是我们当前还是处在 master 分支上

更改分支名称

如果你觉得一个分支名不对你胃口,可以随时更改,是不会影响文件和目录的,更改分支的方法是 git branch -m old_name new_name

$ git branch -m cat cat2.0
$ git branch
  cat2.0
* master

即使是 master 分支,也可以改名

$ git branch -m master main
$ git branch
  cat2.0
* main

删除分支

删除对应的英语是 delete,所以参数是 -d

$ git branch
  cat1.0
  cat2.0
* main
$ git branch -d cat1.0
Deleted branch cat1.0 (was e47b10f).
$ git branch
  cat2.0
* main

但 git 不允许用 -d 删除未合并的分支

$ git branch -d cat2.0
error: The branch 'cat2.0' is not fully merged.
If you are sure you want to delete it, run 'git branch -D cat2.0'.

但是你可以使用 -D 将其删除

$ git branch -D cat2.0
Deleted branch cat2.0 (was 3f18f81)

在 git 中,没有什么分支是不能删的,但是你不能删除你当前所在的分支

$ git branch
  b2
* main
$ git branch -d main
error: Cannot delete branch 'main' checked out at '/home/paradox/Code/learngit/learnbranch'

不过你可以移动到其他分支之后再删除它

切换分支

切换分支使用的指令之前在还原被reset消失的文件时出现过,git checkout

$ git branch
  b2
* main
$ git checkout b2
Switched to branch 'b2'
$ git branch
* b2
  main

使用 git checkout 就能轻松地切换了分支

一般来说,要想切换到那个分支就必须要先存在那个分支,如果你输入的分支参数还不存在项目中,就会出错,但你可以用 -b 参数,这样如果你要切换的分支不存在时 git 就会帮你新建这个分支并切换过去

$ git checkout b3
error: pathspec 'b3' did not match any file(s) known to git
$ git checkout -b b3
Switched to a new branch 'b3'
$ git branch
  b2
* b3
  main