Py学习  »  Git

Git仓库场景专栏

MedusaSorcerer • 4 年前 • 446 次点击  
阅读 28

Git仓库场景专栏

MedusaSorcerer的博客


专栏目录

专栏详情

独立场景开发(隔离)

场景介绍

独立开发可以避免代码相互污染, 开发的都是自己分支上的代码内容, 在独立开发的过程中这是最好的方式, 每个人在自己开发的分支和自己负责的模块上进行代码提交, 缺点也显而易见, 若是需要调度另一个人开发的代码块功能, 则需要合并后新建分支进行测试, 最后将开发的功能块整合在一个归并仓库(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 删除操作
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51017
 
446 次点击