利用Git开发时对开发者权限控制问题
本文最后更新于 17 天前,其中的信息可能已经有所发展或是发生改变。

一、方案详细描述

架构设计

本方案通过 裸仓库管理员工作目录 和 生产目录 实现代码协作与自动化部署,确保开发与生产环境隔离。目录结构如下:

/mnt/odoo/odoo17/custom/addons/
├── aams.git            # 裸仓库(开发者推送目标,存储所有分支)
├── aams_worktree       # 管理员工作目录(用于合并分支)
└── aams                # 生产目录(实际运行代码,由钩子自动同步)
目录用途
aams.git中央仓库,开发者推送/拉取分支,仅管理员可以操作main分支
aams_worktree管理员本地工作区,用于合并分支、解决冲突
aams生产环境代码,用钩子自动从aams.git同步,禁止直接修改

角色权限:

角色权限
开发者1. 推送/拉取个人分支
2. 禁止操作main分支
管理员1. 合并分支到main
2. 推送main分支触发同步钩子
3. 管理钩子脚本等

开发管理流程

  1. 开发者推送分支:将代码推送到裸仓库的个人分支(如dev_myname)。
  2. 管理员合并分支:在工作目录中将 dev_myname 合并到 main
  3. 触发同步:推送 main 分支到裸仓库,触发钩子自动同步到生产目录并重启服务。

二、配置与使用指南

1. 开发者配置与操作

环境准备

  • 克隆仓库
#bash
git clone user@server:/mnt/odoo/odoo17/custom/addons/aams.git 
cd aams

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇