Gitolite 权限仅限于一个分支

2024-04-23

我有点困惑gitolite https://gitolite.com/gitolite/权限。

仅允许 1 个分支并拒绝特定用户或组的所有其他分支的最佳方法是什么?


See "部分复制:分支的选择性读取控制 https://gitolite.com/gitolite/list-non-core.html#partial-copy-selective-read-control-for-branches"

要点是:

Git(以及 gitolite)无法进行选择性读取控制——允许某人读取分支A但不是分支B.
要么是整个仓库,要么什么都没有.

Gerrit 代码审查 https://gerrit.libreoffice.org可以做到这一点,但那是因为他们有自己的 git (以及自己的 sshd 等)。如果代码审查是您访问控制决策的一部分,那么无论如何您确实应该考虑 Gerrit。

当您询问时得到的标准答案是“使用单独的存储库”(其中一个包含所有分支,一个包含分支的子集)。
这在理论上很好,但在实践中,当人们可能同时推送两个存储库时,您需要弄清楚如何使它们保持同步。

Gitolite 现在可以帮助您做到这一点。请注意,这仅适用于分支机构;您不能对文件和目录执行此操作。

就是这样:

  • enable 'partial-copy' 在里面ENABLErc 文件中列出。

  • 对于每个回购“foo“它有一些秘密分支,由一组特定的开发人员(我们将使用一个名为@temp-emp作为一个例子)不应该看到,这样做:

     repo foo
         # rules should allow @temp-emp NO ACCESS
    
     repo foo-partialcopy-1
         -   secret-branch               =   @temp-emp
    
         # other rules; see notes below
    
         -   VREF/partial-copy           =   @all
         config gitolite.partialCopyOf   =   foo
    

重要笔记:

  • 如果您使用其他 VREF,请确保将其放在最后,在所有其他 VREF 之后。
  • 请记住,允许对部分复制存储库进行的任何更改都将传播到主存储库,因此请确保根据需要使用其他规则来限制对其他分支和标签的推送。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gitolite 权限仅限于一个分支 的相关文章

  • 在发出拉取请求之前我应该​​使用 dev 分支进行变基吗?

    我们当前的工作流程 从 dev 创建一个功能分支 开发功能并推送分支后 执行以下操作 git checkout dev git pull rebase 开发中 git checkout my feature branch git rebas
  • 如何使用 hg Convert 将 git 分支导入到 Mercurial 中?

    我的 git 存储库中有许多分支 david Panama app git branch r origin HEAD gt origin master origin master origin newButtons origin newFo
  • 作曲家转储自动加载和 git

    为了部署实用性 我们决定将供应商目录提交到 git 存储库中 一切正常 但是每次我们运行 Composer dump autoload 时 它都会修改以下文件 这非常烦人 因为它似乎并不代表文件的特定状态 每次重新运行它时它看起来都像一个随
  • eGit 合并解决方案 - 使用您的副本

    我对 eGit 还是新手 我正在尝试弄清楚到底如何让 eGit 使用我的副本解决合并冲突 无需任何更改 我指的是 eGit Wiki 上的注释 http wiki eclipse org EGit User Guide Possible m
  • 在 github 推送上将静态站点部署到 s3 的最佳策略? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想自动将我们的网站部署到 AWS S3 我已经编写了一个节点脚本来自动构建和上传网站 但我希望每当m
  • 如何在 git log 中查看提交的 git bisect 状态?

    我正在做 git bisect 到目前为止我发现了一些好的和坏的提交 我可以通过运行来确认git bisect log 但是 如果我为我的分支运行 git loggit log graph decorate full origin mast
  • jenkins构建完成后如何将更改推送到github?

    我有一个 jenkins 作业 它从 github 克隆存储库 然后运行 powershell 脚本来增加文件中的版本号 我现在正在尝试将该更新文件发布回 github 上的原始存储库 因此当开发人员提取更改时 他会获得最新的版本号 我尝试
  • git:显示所有已修改的文件 - 已暂存和未暂存

    我需要一个命令给我所有修改过的文件 这包括暂存 即新添加的文件 和非暂存更改 在普通列表我可以在脚本中使用它 虽然这个问题可能听起来很熟悉 但我只找到接近我想要做的命令 git ls files m 列出 非分阶段 修改但忽略了上演的和新的
  • 为什么我的 git 预提交钩子不修剪行尾的空白?

    我在 Mac Mojave 上 我在 git templates hooks pre commit 创建了一个文件 我想删除我正在提交的文件行尾的空格 我希望这种情况在全球范围内发生在我的所有项目中 A git hook script to
  • 为什么 ssh-agent 需要 root 访问权限?

    我刚刚安装了 Archbang 并尝试克隆我的 Git 项目 这需要 SSH 密钥 过去 我在 Ubuntu 和 RedHat 机器上遵循 Github 指南取得了成功 但由于某种原因 它在我的新 Arch 安装上不起作用 我已使用以下命令
  • GITLAB SSL证书问题:无法获取本地颁发者证书

    我正在尝试在 gitLab 中推送我的第一个项目 但出现此错误 致命 无法访问 https git SSL证书问题 无法获取本地颁发者证书 最后我在这里找到了解决方案https newbedev com invalid ssl certif
  • git rebase 开发分支

    抱歉 只是另一个 变基 问题 但我对此感到困惑 我有时会将开发分支上的提交推送到远程 原始 现在 关于 rebase 总是提到的一件事是 如果您推送了更改 则永远不要 rebase 这意味着 我永远无法重新调整我的开发分支 只能合并它 在功
  • git 存储库中的提交次数

    我的一个为期 5 个月的项目即将结束 作为毫无意义的统计数据的粉丝 我想知道自存储库启动以来已经进行了多少次提交 我怎样才能发现这一点 Notes 我知道没有one存储库 我只对本地版本感兴趣 这在颠覆中是微不足道的 因为修订标识符 似乎是
  • 如何将空目录添加到 Git 存储库?

    如何将空目录 不包含文件 添加到 Git 存储库 使目录 在存储库中 保持 几乎 空的另一种方法是创建一个 gitignore该目录中的文件包含以下四行 Ignore everything in this directory Except
  • git merge 中“递归合并模式”旁边的这些符号是什么?

    当我使用git pull project name master为了更新我的核心文件 我在 递归合并 下得到了一堆绿色的加号和红色的减号信号 这些符号是什么以及它们的含义是什么 这是一个屏幕截图 感谢您的帮助 这是已更改的行数的近似值 优点
  • git推送失败:`拒绝更新签出的分支:refs/heads/master`

    我想将我对 JBoss 配置的本地修改存储在 git 中 为此 我设置了以下结构 lrwxrwxrwx 1 jboss jboss 19 Jan 24 11 53 current gt jboss as 7 1 0 CR1b drwxr x
  • 使用 GIT_PS1_SHOWCOLORHINTS 自定义 __git_ps1 的颜色

    我尝试过的 我已更新我的提示以包含分支名称 git ps1 另外 我设置GIT PS1 SHOWCOLORHINTS 问题 提示正确显示 然而 树枝的颜色始终是绿色的 我预计肮脏的树枝会是红色的 文档指出 颜色基于 git status s
  • 使用 Git 和 Eclipse 管理 Android 项目

    我相信我有一个非常常见的问题 它会影响具有多个应用程序版本的开发人员 在我的例子中 我有两个 付费版本和免费版本 为了管理这两个版本 我使用具有 2 个不同分支的同一个 git 项目 免费和付费 然而 我的源代码包名称彼此不同 如预期 并且
  • 将生成的文件存储在 Git 中

    我们有一个相当大且过于混乱的代码库 我们希望使用 Git 进行迁移 目前 它是一个大的整体块 不能轻易地分割成更小的独立组件 该代码构建了大量共享库 但它们的源代码如此交错 目前无法将其干净地分离到单独的存储库中 我不太关心 Git 是否可
  • Git 合并如何处理同时提交?

    给定一个具有两个分支的存储库 每个分支都有独立的提交 Branch Commits final e g i master a b c d f h 上图中的字母很重要 即 master 和 final 同时正在开发中 并且必须保留两个分支中的

随机推荐

  • Facebook 对象调试器:Curl 错误:SSL_PEER_CERTIFICATE SSL:没有备用证书使用者名称

    我无法使用 Facebook 对象调试器 lint 工具 测试网站上的开放图标签 https developers facebook com tools debug og object https developers facebook c
  • 如何在Python中生成随机数?

    Python或Numpy中是否有内置库可以根据各种常见分布生成随机数 例如 Normal Poisson 指数 伯努利 还有其他各种 是否有这样的具有多变量分布的库 usr bin env python from scipy stats i
  • 已弃用:不带括号的 `a ?乙:丙? d : e` 已弃用[重复]

    这个问题在这里已经有答案了 使用任一 a b c d e or a b c d e 在 home cobbktpr public html wp content plugins js composer include classes edi
  • 执行Linux命令并获取PID

    通常我使用 os popen du folder gt gt 1 txt read 一切正常 但是当我想获取子进程ID时 它返回空值 os popen du folder gt gt 1 txt read Notice the symbol
  • 在 Python 中使用 Paramiko 模块切换到 root 用户时出现“必须从终端运行”

    我正在尝试通过 Python 脚本自动执行任务 这个想法是以普通用户身份登录 然后发送su命令并切换到 root 帐户 我无法直接以 root 身份登录的原因是SSHD不允许 root 登录 这是我所拥有的 ip 192 168 105 8
  • Pandas:查找出现在特定列中的元素的第一次出现

    假设我有以下数据框 df raw pd DataFrame id 102 102 103 103 103 val1 9 2 4 7 6 val2 np nan 3 np nan 4 5 val3 4 np nan np nan 5 1 da
  • 如何使两个Viewbox中的文本大小相同?

    在 WPF 中 我使用 Viewbox 使一些文本自动调整大小 问题是文本最终会使用不同的字体 因为较短的文本会显示得较大
  • 在 UITableViewCell 中编辑 TextLabel [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 UITableView 中进行就地编辑 https stackoverflow com questions 2803626 how to do edit in place in a uitab
  • 使用纯 JavaScript 创建、追加和提交表单

    我正在尝试实现 onclick 函数 该函数使用 POST 方法发送参数 我需要这个函数来重新加载页面 这使得我使用 AJAX 之外的其他方式 我有一个函数可以做到这一点 但这个函数使用 jQuery 现在我需要将其 移植 到纯 JavaS
  • 初始化函数破坏单元测试

    在我想要测试的包中 我有一个 init 函数 它加载配置文件 其中包含我想用来运行应用程序的一些内容 但是 我不想在运行单元测试时触发此初始化函数 有没有办法在单元测试期间跳过或阻止调用此 init 函数 一些片段来说明这个问题 func
  • 使用 SKAction colorizeWithColor 使 SKSpriteNode 闪烁白色

    好的 我有一个精灵 当被某物击中时应该会闪烁白色 我正在使用这个 SKAction changeColorAction SKAction colorizeWithColor SKColor whiteColor colorBlendFact
  • 使用 array_diff 时保留重复项

    我使用 array diff 从 array1 中取出在 array2 中找到的值 问题是它删除了 array1 中的所有出现项 正如 PHP 文档所指出的那样 我希望它一次只取出一个 array1 array array1 a array
  • 使用 haskell 构建动态库并从 C++ 中使用它

    我想构建一个包含 haskell 函数的动态库 我在 Linux 上工作 想从 C 代码中调用这个动态库 我用的例子是http wiki python org moin PythonVsHaskell http wiki python or
  • Java中如何检查抛出的异常类型?

    如果一个操作捕获了多个异常 如何确定捕获了哪种类型的异常 这个例子应该更有意义 try int x doSomething catch NotAnInt ParseError e if thrown error is NotAnInt li
  • 为什么 Google Analytics 使用 __utm.gif?

    只是想了解他们为什么不使用 REST API 在REST中 客户端向服务器发起资源请求 服务器处理这些请求并返回适当的响应 The utm gif不参与服务器到客户端的数据传输 而是参与向另一个方向移动数据 当然 REST 具有供客户端与服
  • 是否可以将公共IP分配给AWS中的Lambda函数?

    我们需要访问企业后端中的 API 该 API 仅接受来自授权 IP 地址的调用 此时 我们的移动客户端正在调用 AWS Lambda 函数 该函数执行一些转换 然后调用分配了授权公共 IP 地址的 EC2 实例上的另一个服务 第二个服务执行
  • SQLite数据适配器不显示数据

    我试图在 Windows 窗体应用程序中填充数据网格视图 但当我执行选择查询时 数据库没有返回任何内容 我已经在本网站上查看了有关此主题的其他问题 但找不到任何可以解决我的问题的内容 数据视图表的名称是qbcMemDataView 数据源是
  • 如何使用 Java 中的 Scanner 将输入值存储在数组中

    您好 我是 Java 新手 我正在尝试 Scanner 类 我试图解决一个小问题 我想输入两个输入 例如 4 5 6 和 8 9 0 我想将 4 5 6 存储在一个数组中 将 8 9 0 存储在另一个数组中 然后打印这些数组 但我无法这样做
  • “:=”有什么作用?

    我见过 在多个代码示例中使用 但从未附带说明 如果不知道它的正确名称 就不可能通过谷歌搜索它的用途 它有什么作用 http en wikipedia org wiki Equals sign In computer programming
  • Gitolite 权限仅限于一个分支

    我有点困惑gitolite https gitolite com gitolite 权限 仅允许 1 个分支并拒绝特定用户或组的所有其他分支的最佳方法是什么 See 部分复制 分支的选择性读取控制 https gitolite com gi