一、创建分支
1、选择本地分支,右键,点击「Add Branch」
![](https://i-blog.csdnimg.cn/blog_migrate/dac840fc41c6f3868ec9ec33f0884d2a.png)
2、填写分支名称,选择「创建并切换」
![](https://i-blog.csdnimg.cn/blog_migrate/4410be98766e01434d03bec9404f3b2b.png)
3、创建本地分支,并切换完成
![](https://i-blog.csdnimg.cn/blog_migrate/c8420f977f73571d97cd07169ca9ac01.png)
4、将本地分支提交到远程仓库
![](https://i-blog.csdnimg.cn/blog_migrate/98fc6adea4a8792de6291d89ba195183.png)
二、合并分支
在dev分支下开发完,提交到远程仓库之后。我们可以看到dev分支的代码和最近一次提交保持一致,而master主分支上的代码还保留在切换分支以前。之歌时候我呢吧要将dev分支合并到master主分支上。比如在dev分支下面添加如下代码:
<div>dev创建分支之后修改的内容</div>
1、切换分支到master
![](https://i-blog.csdnimg.cn/blog_migrate/541c061df52746749d76f84f52e57b1e.png)
2、合并dev到master
在dev分支上右键,选择合并
![](https://i-blog.csdnimg.cn/blog_migrate/bd30889cde3078a8772efea80178ac5e.png)
选择快速合并
![](https://i-blog.csdnimg.cn/blog_migrate/10bebb1e7f17e2aa318dd4d23f0edbda.png)
合并到master,成功
![](https://i-blog.csdnimg.cn/blog_migrate/206ee22d2f9b0d74999128eb0fadd88a.png)
3、提交合并后的分支
我们看到,合并分支之后,dev分支提交的代码已经合并到master的本地分支了。接下来只用提交到远程仓库即可。
![](https://i-blog.csdnimg.cn/blog_migrate/69a31842b744bbba3c2ece49c09ab160.png)
![](https://i-blog.csdnimg.cn/blog_migrate/828fec9c0ecbcb6209890fdc33b30b0e.png)
三、合并分支的某一次提交
示例:合并dev的某一次提交到master
1、在dev分支上右键,选择Log
![](https://i-blog.csdnimg.cn/blog_migrate/163f79990c1148559d6718bb13d764ac.png)
2、选择需要合并的分支,右键,选择「cherry-pick
」
![](https://i-blog.csdnimg.cn/blog_migrate/be93a3d567a2b5b49017577f289f0089.png)
四、合并分支的冲突
1、如果master和dev分支对同一个文件进行过修改的话,合并的时候就会有冲突。比如我们同时在master分支上新增代码如下:
<div>dev创建分支之后修改的内容</div>
2、执行合并操作,这个时候就不会有“快速合并”这个选项。我们选择“创建本地提交”
![](https://i-blog.csdnimg.cn/blog_migrate/cfe7bdb1ce0be14028c7a1a4232f7961.png)
3、如下,列出了冲突的内容
![](https://i-blog.csdnimg.cn/blog_migrate/5b59735d37c07aa1f1577a13fd51a23f.png)
4、解决冲突
我们双击有冲突的文件,会弹出:
![](https://i-blog.csdnimg.cn/blog_migrate/34b884e12ccfe70f2fb11c6717b8bf35.png)
我们点击右边的箭头,然后点击保存:
![](https://i-blog.csdnimg.cn/blog_migrate/6161e6a1fe7c4d6ad4dbf617ba30fd7a.png)
再点击关闭窗口,在弹出的框中点击「Stage」即可:
![](https://i-blog.csdnimg.cn/blog_migrate/44739dd20888c41815a93c8d81b9f0c1.png)
正常提交代码:
![](https://i-blog.csdnimg.cn/blog_migrate/9eefb7bee92e8b84df7c8e677ae60f60.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6eac351ca67ab4372ba6dde005f6a71f.png)
合并完成:
![](https://i-blog.csdnimg.cn/blog_migrate/a66328bea5b797867f21b00b2013497f.png)
四、注意事项
1、切换分支前,先做好本地提交,以免和切换分支之后的代码产生冲突。
2、提交代码的时候,本地和远程代码的统一文件都有修改的话也是会产生冲突的,如何避免,前面的文章已经讲过了,如果产生了冲突,按照上面的方式解决即可。
系列文章
Git专栏
Git使用(一):安装与配置
Git使用(二):创建项目并提交到远程仓库
Git使用(三):分支管理,创建分支、合并分支、合并分支的某一次提交等
Git使用(四):提交管理,修改提交信息、合并多次提交、版本回退、撤销本地文件修改等
Git使用(五):解决冲突以及如何避免冲突
SmartGit 安装及使用(一):安装及配置
SmartGit 安装及使用(二):工作界面介绍、提交代码以及防止代码冲突等操作
SmartGit 安装及使用(三):修改提交记录、合并多次提交、撤销本地文件修改、版本回退等操作
SmartGit 安装及使用(四):创建、合并分支、合并某一次提交以及解决冲突等操作
SmartGit 安装及使用(附录):注册非商业许可证
【Git】如何生成SSH key
【Git】.gitignore文件语法以及修改后无效的解决办法
【Git】Authentication failed for 错误解决
【Git】SSL certificate problem: unable to get local issuer certificate错误的解决办法
【Git】error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR