git分支介绍和常用操作
一、分支基本介绍:
分支:就是从当前工作目录分离的代码副本(使用分支,目的是从主线任务内分离开,在副本上去做其他小功能,这样就不会影响主线任务了)
分支可以分为:
1、主分支master: 第一次向git仓库中提交更新记录时自动产生的一个分支
2、开发分支develop: 作为开发的分支,基于master分支创建的
(联系:一般不会在主分支上开发,一般都是有任务了分离一个或者多个开发分支来分别开发,完成后部署测试,完成测试后最后合并到主分支上)
3、功能分支feature:作为开发具体功能的分支,基于开发分支创建
作用:有功能任务后,从开发分支上分离一个或多个功能分支来进行具体的功能开发,完成后合并到开发分支。(当开发分支累计到一定数量时,将开发分支提交到主分支上)
----->>上述的主分支-->>开发分支-->>功能分支,换句话理解就是:
主分支(测试环境)
开发分支(开发人员本地环境)
功能分支(开发人员在自己本地环境内分离的一个甚至多个小分支,来开发不同功能模块)
分很多个分支目的:就是保证主分支的稳定性,保证分支的稳定性,从而减少代码给环境带来的影响
二、分支常用操作命令
git branch 查看分支
Git branch 分支名称 创建分支
Git checkout 分支名称 切换分支(全部提交后切换,否则切换会将分支内容携带走)
Git merge 来源分支 合并分支
Git branch -d 分支名称 删除分支(-d表示分支被合并后才允许删除(不然实在想删除也可进行-D强制删除))
具体操作:
查看分支命令:git branch
创建分支命令:git branch 分支名称
切换当前所处分支命令:git checkout 分支名称
(注意:如果分支内有内容存在,请提交到git仓库后再切换分支,否则会将dev分支内的内容携带切换到另外的分支内)
--------------->>当然也有解决办法:看后面的临时保存方法
合并分支:git merge 分支名称
(如果当dev开发分支内的文件内容都完成开发了,要合并到主分支上,那么此时要切换到主分支上,再进行合并)
合并完成后开发分支其实还是存在的。
删除分支:git branch -d 分支名称
注意:
如果删除的分支有内容存在没有被合并,默认是不允许删除的,这是为了防止在没有合并分支内容的情况下误删文件
(如果是真的不想留下分支和里面的内容了,那么就可以通过:git branch -D 分支名称 ,进行强制删除)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
注意!!!
在git中,可以暂时提取分支上所有的改动并存储;让开发人员得到一个干净 的工作副本环境,临时进入其他工作内容。
临时保存改动:git stash
恢复改动: git stash pop
(使用场景:正在分支上开发功能,但是此时需要切换进入其他一个分支内进行修改bug,那么怎么办呢?
因为此时没有开发完加上 还没提交,一旦切换不就前功尽弃了?那么此时就可以进行临时保存,等会儿再进行恢复)
操作:
1、在dev分支上正在开发,
2、收到任务要在主分支master上修复问题。
3、此时可以在dev分支上输入命令:git stash ,进行临时保存剪切
4、然后就可以进行切换到主分支上操作啦(也不用担心没有提交不允许切换的问题了)
5、等待在master主分支上完成任务后,此时就可以切换回dev分支上,输入恢复命令:git stash pop 进行恢复,此时就可发现一切都正常进行着