公司由于代码检视需求,决定从 SVN 迁移到 Git 。原先是 VisualSVN 管理系统,现在选用了 Gitea 的方案。
主要问题是:原先在 VisualSVN 中针对多个目录配置了代码读写权限,如何将这些权限优雅地移植到 Gitea 上?
写权限不成问题,毕竟每个人都可以 fork 一份主仓库,修改自己仓库的代码然后提 PR ,不会写坏主仓库。
但是对于读权限,目前我只能想到 Git Submodule ,但是目录太多的话总不能一个个去建子仓库吧?另外,Submodule 的远端链接总是指向主仓库的,如果每个人都去修改,还得 fork 主仓库的子仓库,然后再修改自己仓库 Submodule 的远端链接……想想都头疼
1
ysc3839 2021-11-19 18:31:00 +08:00
没办法,git 只能以仓库级别控制权限。
|
2
elfive 2021-11-19 18:38:31 +08:00 via iPhone
要这种权限,就不适合换 git
|
3
gouflv 2021-11-19 19:19:15 +08:00 via iPhone
拆分代码库
|
4
jim9606 2021-11-19 19:28:08 +08:00
git 本身没有权限控制机制。
一种变通方法是用 pre-commit hook ,具体方案你得找一下吧。 分多个 git 仓库是推荐做法,可以考虑用 google git-repo 工具组织多仓库项目。 没看懂最后一段在说啥? |
5
hingbong 2021-11-19 19:36:49 +08:00
submodules 分仓库控制?
|
6
GTim 2021-11-20 07:28:20 +08:00
submodules ,保平安,不要再用其它解决方案,不现实的
|
7
Kobayashi 2021-11-22 16:09:58 +08:00
Git 没有这种设计,不用想了,要权限控制切回 SVN.
|