SourceTree系列3:创建和删除分支
1、创建分支
在SourceTree系列2:修改并提交中我们介绍了如何提交和推送,但是在实际开发中,我们不会像上面那样直接在master分支上操作。我们应该建立一个develop开发分支。
比如,我们只有一个master分支,现在已经发布了一个新版本1.0。然后新功能1.1版本也在开发中,但是1.0版本发现一个BUG,这时候我们要如何修复BUG呢?
肯定不能舍弃现在正在开发的功能,也不能将现在的代码提交,从而影响已经发布出去的版本,这时候develop分支就起作用了。
我们的master分支,应该作为主分支,这是一个稳定分支,这个分支应该是作为稳定版本发布的分支。我们的所有的开发工作只在develop分支上操作,当develop分支开发完成一个新功能时,再合并到master分支,由master分支发布。master分支有BUG时,从master新建一个临时temp分支,在temp修复BUG,然后合并到Master分支,这样master就可以继续发布。
修复的BUG再合并到develop分支,这样也保证develop分支上的代码是稳定的。最后再删除temp分支。
如果服务端有develop分支,那么我们只需要检出develop分支即可。这里很明显没有,所有我们要新建一个分支,然后把这个develop分支也推送到服务端,这样别人也能使用这个develop分支。
因为新分支是从原分支clone的,索引创建的新分支状态与原分支一样,同时创建成功之后当前分支就变成新分支了。如果要切换分支直接双击分支名称就好了。
然后,将新分支推送到远程。
推送完成之后远程出现了develop分支,同时分支数量也增加了。
这时修改一下test.txt文件,在里面添加“new branch”。
如果此时我们不提交本次修改就切换分支,就会出现如下提示
上图中两个分支在同一节点,那么会将未提交的修改也带给master分支,如下图所示
当两个分支不在同一节点,如下图所示
此时再切换分支就会报以下错误,所以要切换分支之前要保证原分支已经提交。
2、删除分支
我们直接从master新建一个temp分支出来,新建分支时,请保证当前的分支为master。
删除分支时,要保证不在要删除的分支上。比如现在,HEAD指向的就是temp分支,我们在temp分支上,右键 -> 删除分支 -> 弹出对话框 -> 确定 ->报错。此时,就会报如下的错误。
切换到其他分支,然后执行删除操作:l右键 -> 删除分支 -> 弹出对话框 -> 确定
如果删除分支时报以下错误,就是说要删除的分支有过新的提交,但是还没有进行合并。所以sourceTree会保证你的删除是可靠的,要求你合并之后再删除。如果,你确定不需要合并,那么在删除分支时选择勾选“强制删除”。