为了便于理解,可以认为分支就是当前工作目录中代码的一份副本,使用分支,可以让我们从开发主线上分离出来,以免影响开发主线。
2.1.1 分支细分
-
主分支(master):第一次向 git 仓库中提交更新记录时自动产生的一个分支。
-
主分支,用于部署生产环境的分支,确保稳定性。
-
master分支一般由develop以及hotfix分支合并,任何情况下都不能直接修改代码。
-
开发分支(develop):作为开发的分支,基于 master 分支创建。
-
develop为开发分支,通常情况下,保存最新完成以及bug修复后的代码。
-
开发新功能时,feature分支都是基于develop分支下创建的。
-
功能分支(feature):作为开发具体功能的分支,基于开发分支创建。
-
开发新功能,基本上以develop为基础创建feature分支。
-
分支命名:feature/ 开头的为特性分支, 命名规则: feature/user_module、 feature/cart_module。
4.release分支
-
release 为预上线分支,发布提测阶段,会release分支代码为基准提测。
5.hotfix分支
-
分支命名:hotfix/ 开头的为修复分支,它的命名规则与 feature 分支类似。
-
线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支,修复完成后,需要合并到master分支和develop分支。
「功能分支 -> 开发分支 -> 主分支」
2.12分支命令
-
git branch 查看本地分支
-
git branch -r查看远程分支
-
git branch 分支名称创建分支
-
git checkout -b 分支名称创建并切换到新建分支
-
-
git checkout 分支名称切换分支
-
git merge 来源分支合并分支
-
git branch -d 分支名称删除分支
-
分支被合并后才允许删除
-
git branch -D强制删除
-
-
git branch -m重命名分支
-
git add .全部上传到缓存区
-
git add 指定文件指定文件上传到缓存区
-
在git 中,可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作。
使用场景:分支临时切换
-
存储临时改动:git stash
-
恢复改动:git stash pop