git教程-分支功能02

139 阅读2分钟

「这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战

4.合并分支

假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:

将HEAD指向master

image.png

//将之前分支合并到当前分支,将dev中的内容同步到当前分支
$ git merge 分支名
$ git merge dev

5.删除分支

$ git branch -d 分支名
$ git branch -d dev

6.分支冲突

image.png

如果多个分支并行执行,就会导致代码冲突,存在多个版本。例如

user和admin两个分支,

A编写user

B编写admin

A编写时需要用到admin.add文件,那么拿过来用的时候修改了这个文件,那么user分支里的admin.add文件就修改了。B可以选择是否将这个修改的文件合并到admin分支.

已修复bug

7.Bug分支

1.暂存工作场景

当发生bug时,工作还没完成,不能提交,此时还无法创建bug分支,就可以使用暂存工作场景,内容恢复到上次commit的内容**,将其他内容存放到暂存工作场景中

$ git stash 

image.png

2.创建bug分支

$ git checkout -b  issue-101

image.png

3.修复bug之后add,commit

$ git add .
$ git commit -m"..."

4.将bug分支合并到master

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,在合并的分支就会出现分支信息

//`--no-ff`参数,表示禁用`Fast forward`:
$ git merge --no-ff -m"fixed bug" issue-101

image.png

5.恢复工作场景

1.使用git stash list 查看工作区

$ git stash list

image.png

2.1.使用git stash apply 恢复,但不删除,需要使用git stash drop 删除

image.png

2.2.使用git stash pop 恢复并且删除

image.png

master主分支

master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。