0


[Git][分支管理][上]详细讲解

目录


1.理解分支

  • 感性理解:分支可以理解为平行宇宙,但是在用户需要的时候,可以将两个平行宇宙合并,此时两个平行宇宙的效果将会"叠加"
  • 理性理解:每次提交,Git都会把它们串成⼀条时间线,这条时间线就可以理解为是⼀个分⽀- 截⽌到⽬前,只有⼀条时间线,在Git⾥,这个分⽀叫主分⽀,即master分⽀
  • HEAD理解HEAD严格来说不是指向提交,⽽是指向mastermaster才是指向提交的 - 所以HEAD指向的就是当前分⽀- 每次提交,master分⽀都会向前移动⼀步 - 随着用户不断提交,master分⽀的线也越来越⻓- ⽽HEAD只要⼀直指向master分⽀即可指向当前分⽀请添加图片描述

2.创建分支

  • 查看分支git branch- *表示当前HEAD指向的分支$ git branch* master
  • 创建分支git branch branch_name- 创建好分支之后,Git将会新创建一个指针- 此时新创建的指针和master指向同一个修改,即同一个版本$ git branch dev$ git branch dev* master请添加图片描述

3.切换分支

  • 切换分支git checkout branch_name
  • 将创建分支和切换分支合二为一的命令git checkout -b branch_name``````$ git checkout devSwitched to branch 'dev'$ git branch* dev master请添加图片描述
  • 切换到新的分支后,如果进行独立于的master分支的修改,并进行提交- 现象:新的分支有的内容,在master分支里并不存在- 原因:两分支指向的提交已经不一样了$ cat .git/refs/heads/master13204498006394d6067fbc8b6046885c6e5e9649$ cat .git/refs/heads/dev8ef34a28afd16a7c6f3ad43f136212850205bb22请添加图片描述

4.合并分支

  • 如果要在master分支上能看到最新的提交,就需要将新的分支合并到master分支
  • 合并分支git merge branch_name- 此处的Fast-forward表示快进模式- :直接将master指向新分支的当前提交,所以该种合并方式下速度非常快- 但并不是每次合并都能Fast-forward``````$ git branch dev* master$ git merge devUpdating 1320449..8ef34a2Fast-forward dev.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 dev.txt请添加图片描述

5.删除分支

  • 合并完成后,dev分⽀对于用户来说就没⽤了,那么dev分⽀就可以被删除掉
  • 删除分支git branch -d branch_name- 注意:如果当前正处于某分⽀下,就不能删除当前分⽀,需要切换到其他分支再删除请添加图片描述
  • 因为创建、合并和删除分⽀⾮常快,所以Git⿎励用户使⽤分⽀完成某个任务,合并后再删掉分⽀,这和直接在master分⽀上⼯作效果是⼀样的,但过程更安全


本文转载自: https://blog.csdn.net/qq_37281656/article/details/140886611
版权归原作者 DieSnowK 所有, 如有侵权,请联系我们删除。

“[Git][分支管理][上]详细讲解”的评论:

还没有评论