「这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战」
4.合并分支
假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:
将HEAD指向master
//将之前分支合并到当前分支,将dev中的内容同步到当前分支
$ git merge 分支名
$ git merge dev
5.删除分支
$ git branch -d 分支名
$ git branch -d dev
6.分支冲突
如果多个分支并行执行,就会导致代码冲突,存在多个版本。例如
user和admin两个分支,
A编写user
B编写admin
A编写时需要用到admin.add文件,那么拿过来用的时候修改了这个文件,那么user分支里的admin.add文件就修改了。B可以选择是否将这个修改的文件合并到admin分支.
已修复bug
7.Bug分支
1.暂存工作场景
当发生bug时,工作还没完成,不能提交,此时还无法创建bug分支,就可以使用暂存工作场景,内容恢复到上次commit的内容**,将其他内容存放到暂存工作场景中
$ git stash
2.创建bug分支
$ git checkout -b issue-101
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
5.恢复工作场景
1.使用git stash list 查看工作区
$ git stash list
2.1.使用git stash apply 恢复,但不删除,需要使用git stash drop 删除
2.2.使用git stash pop 恢复并且删除
master主分支
master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。