目录
是什么:热修复。
通俗来讲就是,开发时,生产环境prod上面有些什么小问题需要修改,我们就会提个 hot-fix 进行解决。
怎么办:从 pro 拉个临时分支,然后本地切换到临时分支上,进行修改,完了后合到 pro 即可。
举个例子:
1. 在远程仓库的pro分支处,新建分支,可命名为 hot-fix630
2. 切换到临时分支 git checkout -b origin/hot-fix630
3. 进行修改,然后push到远端
是什么:捡樱桃
通俗来讲就是,开发时,距离上次发版到 pro 已经在 dev 环境上新增了多个功能,提交了很多次(建议每次提交只设计一个功能);现在需要把其中某个功能推到生产环境 pro。
怎么办:选中其中的几次commit推到pro,假如某次提交涉及多个功能,要把多余功能的代码注释或者删除。
注意:如果是多人开发同一个页面,原则上不能动其他人的代码!若他人也涉及到某些功能的提交,需要本人亲自相应处理。
如果每次commit都很规范(只涉及单个功能)则可用一下 git 命令:
- // 合并一次commit; -x 可省,保留的话则可保留原提交者commit信息。
- git cherry-pick -x <commit id>
-
- // 合并多次commit; 闭区间
- git cherry-pick <start-commit-id>^..<end-commit-id>
-
若某次提交涉及多个功能,则只能手动把多余功能的代码注释或者删除。
以上的过程,很有可能出现冲突,因为团队协作中你当前要提交的代码,可能与当前 pro 上面的某处代码不一样(别人上次提交的),你此时的提交就会出现冲突,那解决流程如下:
- // 查看哪些文件出现冲突
- git status
- // 找到冲突处,手动修改
- vim xxx.jsx
- // 将该文件添加到缓存区
- git add xxx.jsx
- // 提交 push
- git commit -m 'fix: 修改冲突'
- git push
假如你从 dev 合并代码到 pro 出现冲突,需要在本地切换到 pro 分支 pull 当前 dev 的代码,然后解决冲突后再 push 到远端pro环境