【问题标题】:Bitbucket Server Pull RequestBitbucket 服务器拉取请求
【发布时间】:2016-12-20 20:53:10
【问题描述】:

这是我的情况,希望有人能澄清我的思考过程:

  1. 我有一个私人 bitbucket 服务器
  2. 我有一个只有读取权限的用户
  3. 他创建了一个新的本地分支,完成了他的工作,现在他准备好接受拉取请求了

  4. 错误:Bitbucket create pull request 需要在同一个 repo 上的两个分支 来执行它的 pull request,但是“dev”不能推送他的分支,因为 他只有读权限,没有写权限

我的问题,如何使用 Bitbucket 创建拉取请求 A,发送这个本地分支由我的团队审查 B,我想让这个“开发”只有读取权限?

【问题讨论】:

  • Bitbucket 拉取请求should work across forks。您在哪里看到此错误消息?你是怎么触发的?
  • 我错了吗? “开发人员”不应该克隆存储库,提交然后请求拉取请求吗?他的作品不能公开
  • 我不确定你在问什么,罗伯特。您的开发人员是否创建了一个分支或分支来工作?
  • 对不起,让我从第 1 步重述问题。首先他克隆了我们的仓库,其次他创建了一个本地分支,现在他想提出一个拉取请求,但 bitbucket 要求我使用两个远程分支,但我希望拉取请求使用我的开发人员创建的本地分支,然后我也想使用我们的远程主分支
  • @Chris 我相信你在分叉方面是正确的。所以工作流程应该是这样的:1 Fork 2 Commit changes 3 在你的分支和master之间请求拉取请求。虽然现在我想知道我们的开发人员在他分叉后重新向我们的新提交提交到我们的主人会有多容易

标签: git bitbucket git-fork


【解决方案1】:

解决方案 1 处理分支权限

我建议您先在 bitbucket 服务器中创建分支,并具有写入权限(这通常使用 Jira 完成,因此您可以为分支分配任务 ID)。

要处理分支和权限,请检查此guide。您可以定义具有关联权限的模式,以便某些分支自动采用这些属性。

然后用户会这样做

$ git fetch origin
$ git checkout feature/taskID-whatever

开发完成后,他将能够推送分支,并执行拉取请求以进行开发。

$ git push origin feature/taskID-whatever

只能读取开发,不能读取分支。

解决方案 2 使用分叉

在您关注的同一个tutorial 中,您会发现如何进行fork。这样,您的开发人员将在他自己的 bitbucket 存储库中拥有一个克隆。

【讨论】:

  • 这可行,但我希望它作为克隆完成。我正在使用这篇文章atlassian.com/git/tutorials/making-a-pull-request,它指出如果他推送分支,这个拉取请求应该是可能的。我只是不希望开发人员能够通过授予对他们的写访问权限来触及这个“稳定的代码仓库”
  • 我不认为您可以在 JIRA 的 Bitbucket 中创建每个分支的写入权限。如果可以,请提供说明或链接。
  • 您可以预先建立分支权限。 confluence.atlassian.com/bitbucketserver/… 另一个解决方案当然是分叉,但我不喜欢团队开发人员的这种解决方案。
  • @Jav_Rock,我可能不清楚。我知道 Bitbucket 支持分支权限。我问的是我在这里加粗的部分:“我建议您首先在 bitbucket 服务器中创建具有写入权限的分支(这通常使用 Jira 完成,因此您可以分配一个任务 ID到分行)。”您是否建议可以在 Bitbucket 中创建具有特定权限的分支,通过在 JIRA 中执行某些任务
  • 是的。如果您为分支权限定义模式,则您创建的与该模式匹配的每个分支都将拥有这些权限,无论您是从 Jira 还是从 Bitbucket 创建分支。
猜你喜欢
  • 2013-07-20
  • 2019-10-19
  • 2018-10-17
  • 1970-01-01
  • 2019-07-16
  • 2016-05-14
  • 2018-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多