专栏目录
专栏详情
独立场景开发(隔离)
场景介绍
独立开发可以避免代码相互污染, 开发的都是自己分支上的代码内容, 在独立开发的过程中这是最好的方式, 每个人在自己开发的分支和自己负责的模块上进行代码提交, 缺点也显而易见, 若是需要调度另一个人开发的代码块功能, 则需要合并后新建分支进行测试, 最后将开发的功能块整合在一个归并仓库(dev)中, 这个仓库将会是你的测试归并仓库, 所有的代码将会在这个仓库里面, 在测试完成后达成发版要求时, 将归并仓库(dev)的代码发布版本号至主仓库(master), 这样版本提交就出来了。
场景示图
Git 命令流程
# 准备将本地开发分支代码同步至远程仓库并生成版本号提交
# 将本地代码提交
>>> git add -A
>>> git commit -m 'commit message'
# 或者
>>> git commit -am 'commit message'
# 本地仓库同步至个人远程仓库分支(可以忽略合并的过程)
>>> git push [远程仓库名称] [远程分支名称]
# ------------------- 发起分支合并至远程 dev 请求 -------------------
# 推荐你是用新的仓库进行以下操作, 在一个空文件夹执行git初始化以及远程仓库连接(高权限人员操作)
# 将远程 master 分支 pull 至本地 master 分支(高权限人员操作)
>>> git checkout -b master [远程仓库名]/master
# 将远程 dev 分支 pull 至本地 dev 分支(高权限人员操作)
>>> git checkout -b dev [远程仓库名]/dev
# 远程分支 A/B/C 同步至到 本地A/B/C分支(高权限人员操作)
>>> git checkout -b [本地分支名-A] [远程仓库]/[远程分支名-A]
>>> git checkout -b [本地分支名-B] [远程仓库]/[远程分支名-B]
>>> git checkout -b [本地分支名-C] [远程仓库]/[远程分支名-C]
# 合并至本地 dev 分支(可手动解决冲突)(高权限人员操作)
>>> git checkout dev
>>> git merge [本地分支名-A]
>>> git merge [本地分支名-B]
>>> git merge [本地分支名-C]
# dev 分支代码推送到远程 dev 分支, 合并工作完成(高权限人员操作)
>>> git push [远程仓库名] dev
# ------------------- 发布版本号推送 -------------------
# 将本地 dev 分支不携带任何 commit 信息合并至本地 master 分支(高权限人员操作)
# 为保证 master 分支上仅有版本号提交内容的commit
>>> git checkout master
>>> git merge --squash dev
>>> git add -A
>>> git commit -m 'Version: 10.2.4 发布, 发布时间: 2019年12月01日'
>>> git push [远程仓库名] master
归并场景开发(非隔离)
场景介绍
这种管控模式便于将修改的代码归并后在本地测试, 也方便调度其他人的的代码块封装功能的函数等, 但在多人开发的同时, 有对相同文件修改的时候, 极容易造成合并冲突, 需要手动解决冲突并提交修改, 其中利弊, 自行取舍了。
场景示图
Git 命令流程
# 准备将本地开发分支代码同步至远程仓库并生成版本号提交
# 将本地 dev 代码提交
>>> git add -A
>>> git commit -m 'commit message'
# 或者
>>> git commit -am 'commit message'
# 合并远程 dev 仓库至本地 master, 在 merge 的时候需要对冲突的文件手动解决
>>> git checkout master
>>> git pull [远程仓库名] dev
>>> git merge dev
# 对合并后的 master 进行本地仓库提交
>>> git commit -am 'commit massage'
# ------------------- 发起分支合并至远程 dev 请求 -------------------
# 将本地 master 分支推送到远程 dev 分支
>>> git push [远程仓库名] dev
# ------------------- 发布版本号推送 -------------------
# 创建一个新的分支并关联远程 master 分支(高权限人员操作)
>>> git checkout -b [新的分支] [远程仓库]/master
# 将本地 master 分支不携带任何 commit 信息合并到 新的分支(高权限人员操作)
# 为保证 master 分支上仅有版本号提交内容的commit
>>> git checkout [新的分支]
>>> git merge --squash master
>>> git add -A
>>> git commit -m 'Version: 10.2.4 发布, 发布时间: 2019年12月01日'
>>> git push [远程仓库名] master
常用的提交规范
提交信息规范
git commit -m '[提交标识] 描述信息'
提交标识规范
标识内容 | 标识描述 |
---|---|
FEAT | 新增功能 |
FIX | 修复bug |
DOCS | 修改文档 |
REFACTOR | 代码重构,未新增任何功能和修复任何bug |
BUILD | 改变构建流程,新增依赖库、工具等(例如webpack修改) |
STYLE | 仅仅修改了空格、缩进等,不改变代码逻辑 |
PERF | 改善性能和体现的修改 |
CHORE | 非src和test的修改 |
TEST | 测试用例的修改 |
CI | 自动化流程配置修改 |
REVERT | 回滚到上一个版本 |
INIT | 初始化项目 |
MERGE | 合并冲突分支 |
DELETE | 删除操作 |
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/9497.html