目录
一、理解分支
二、创建、切换、合并分支
三、删除分支
四、冲突处理
五、合并模式
六、合并策略
七、Bug分支处理
八、强制删除分支
一、理解分支
master其实就是一个指针 ,他指向的是主分支最近一次commit。我们可以创建新的分支,在新的分支上进行提交,最后将分支进行合并
二、创建、切换、合并分支
现在我们就可以在我们本地仓库创建一个分支
git branch [分支名]
当新的分支被创建时他也指向master分支最近一次提交的位置
此时我们可以通过以下命令来查看当前仓库有几个分支
git branch
此时我们创建了一个dev分支,那么我们要怎样去切换到dev分支呢
git checkout dev # 切换到dev分支
最后我们在dev分支开发完成并测试后可以使用下面命令进行分支合并
git checkout master # 首先切换到要合并到的那个分支
git merge master # 进行分支合并
三、删除分支
git branch -d [name] # 删除分支
四、冲突处理
此时如果我们有两个分支一个master一个dev分支
假设我们的master分支上的文件f1.txt中内容是“aaa“,同样dev分支上的f1.txt文件是“bbb”,这个时候如果我们将dev分支合并到master分支就会存在冲突,则会合并失败,他会告诉我们在哪个文件合并冲突,然后让我们解决冲突并将结果重新提交,此时我们需要进入有冲突的文件中,进行冲突修改后重新提交即可
我们需要找到对应文件进行修改后再次提交
五、合并策略
master主分支是线程环境一定是稳定无bug的,dev分支的代码经过一系列的测试才能合并到master分支上。如果这个时候需要开发几个新的功能,我们就可以创建多个分支同时进行开发,最后在开发测试完毕后合并到master分支上
六、Bug分支处理
如果在master分支上的项目在线上出现了bug,而在此之前我们需要开发一个新的功能从而创建了一个dev分支并且在该分支上开发了一段时候,但是此时发现在创建分支时的代码存在bug,我们应该正确的修复bug呢?
首先我们需要执行以下命令将dev分支上已经开发的部分代码放到存储区
git stash # 将工作区中的修改存储到存储区中
然后我们不能直接在master分支上进行修改,所以我们需要创建一个修复bug的分支dev2,然后在该分支上进行bug修改,修复完成后将该分支合并到master分支上。然后执行git stash pop 命令将存储区的代码进行恢复,在开发完成后,我们不能直接将代码合并到master分支上,由于我们开发的这部分之前的代码是存在bug的,在合并时可能由于人工问题出现新的bug所以,此时我们可以将master代码合并到dev分支,在dev分支合并测试后再合并到master分支
七、强制删除分支
git branch -D [name] # 强制删除