1、迁出代码
git clone git地址
2、开发预准备
# 克隆release到本地
git fetch origin release:release
# 选中release分支(创建分支会基于本分支创建)
git checkout release
3、创建我们需要的开发分支
这里我推荐大家通过你所正在开发的任务创建分支,不要什么东西都在一个分支上面编写
# 根据release创建feat-0131-jie分支,并选中()
git checkout -b release feat-0131-jie # 这个分支就是我们准备开发的分支了
备注
分支命名,推荐格式:分支责任-需求日期/需求号-开发人姓名
- feat:新功能
- fix:修补bug
- doc:文档
- refactor:重构(既不是新增功能,也不是修改bug的代码变动)
- test:测试
- chore:构建过程或辅助工具的变动
4、开发中遇到的问题
如果我们现在需要紧急插一个任务,暂停当前任务去开发其他任务。这个时候如果我们直接切换过去,那么我们未提交的记录都会一并带去我们所切换的分支中。那么,这个时候提交就会造成代码的混乱,或是无法编译通过。
如何解决呢? 有两种思路
- 直接add+commit将本地未提交代码全部提交到我们本地的分支中
- 如果我们不想提交到本地分支中怎么办呢?
使用 git stash 命令
这个命令其实就是将我们本地未提交的代码给放入缓存区暂存起来
# 这个时候就会把我们本地的代码给放入到暂存储去中存储起来了,在我们本地看来就是之前开发代码都回退了
> git stash
# 查看我们暂存起来的提交信息
> git stash list
> stash@{0} XXX:XXX # stash@{0}就是暂存信息的名称
# 恢复指定的暂存提交
> git stash apply [暂存信息名称]
# 删除指定的暂存提交
> git stash drop [暂存信息名称]
如果我们stash apply错了产生了冲突,这个时候我们使用
# 回退apply
> git reset --hard
5、开发完成提交代码
git add .
git commit -m "提交描述"
5.1、方式一
推荐方式, 将自己的分支提交线上合并
git push feat-0131-jie
5.2、方式二
选择拉取你要合并提交的分支
# 如果没有分支就先拉取
git fetch origin test:test
# 选中需要的分支
git checkout test
# 然后将自己的分支合并到环境分支上(在编辑器解决冲突)
git merge feat-0131-jie
# 最后将环境分支推送到远程仓库
git push origin test
6、完成
# 删除本地分支
git branch -d feat-0131-jie
# 强制删除本地分支
git branch -D feat-0131-jie
学习于JIE的《大厂真实 Git 开发工作流程》