我怎样才能让单个用户访问 BitBucket 上的特定分支?
How can I give a single user access to just to specific branches on BitBucket?
我们想 read/write 允许某些人访问某些存储库,但要避免读取某些具有敏感数据的分支。
我们正确地理解,当我们允许某些用户访问一个分支时,他将访问从最高叶到更高祖先的所有提交,这是正确的。我们只想避免从其他分支访问所有未合并的提交(叶)。或者避免访问具有不相关历史记录的分支。
我们已经看到了 "branch permissions" 选项,但我们似乎并不完全理解它。我是否必须授予用户对完整存储库的读取权限,然后通过该功能添加更严格的权限?看来我们不能通过那个添加更多限制性权限...
这是不可能的。 Git 不强制跟踪文件的所有权或权限,因此任何可以读取存储库的用户都可以读取该存储库中的任何文件(在任何分支上)。此外,您提到的分支权限仅适用于 Bitbucket 本身,不适用于本地克隆,因此即使 Bitbucket 确实以某种方式让您限制对给定分支的读取,用户也可以只克隆 repo 并在本地读取所有禁止的内容。 (而且由于这在 Git 中是不可能的,因此在 Bitbucket 以外的主机上也是不可能的。)
出于这个确切的原因,将密码和 API 密钥保存在存储库中也是一个 糟糕 的想法 - 即使您在 Bitbucket 上严格控制所有内容(等。 ),您仍然必须处理每个人的本地系统的安全隐患。 (他们跟上 OS 更新了吗?他们是否使用强密码登录他们的东西?如果他们的计算机被盗,你会怎么做?等等)
如果您确实需要与该用户分享某些内容,那么您可以使用不包含敏感细节的私人分叉。但是,否则,您最好重新评估存储库的结构。
我们想 read/write 允许某些人访问某些存储库,但要避免读取某些具有敏感数据的分支。
我们正确地理解,当我们允许某些用户访问一个分支时,他将访问从最高叶到更高祖先的所有提交,这是正确的。我们只想避免从其他分支访问所有未合并的提交(叶)。或者避免访问具有不相关历史记录的分支。
我们已经看到了 "branch permissions" 选项,但我们似乎并不完全理解它。我是否必须授予用户对完整存储库的读取权限,然后通过该功能添加更严格的权限?看来我们不能通过那个添加更多限制性权限...
这是不可能的。 Git 不强制跟踪文件的所有权或权限,因此任何可以读取存储库的用户都可以读取该存储库中的任何文件(在任何分支上)。此外,您提到的分支权限仅适用于 Bitbucket 本身,不适用于本地克隆,因此即使 Bitbucket 确实以某种方式让您限制对给定分支的读取,用户也可以只克隆 repo 并在本地读取所有禁止的内容。 (而且由于这在 Git 中是不可能的,因此在 Bitbucket 以外的主机上也是不可能的。)
出于这个确切的原因,将密码和 API 密钥保存在存储库中也是一个 糟糕 的想法 - 即使您在 Bitbucket 上严格控制所有内容(等。 ),您仍然必须处理每个人的本地系统的安全隐患。 (他们跟上 OS 更新了吗?他们是否使用强密码登录他们的东西?如果他们的计算机被盗,你会怎么做?等等)
如果您确实需要与该用户分享某些内容,那么您可以使用不包含敏感细节的私人分叉。但是,否则,您最好重新评估存储库的结构。