拉请求中的多个提交

tem*_*pid 5 git pull-request bitbucket-server

我们有一个dev分支和一个发布分支.开发分支是所有开发人员签入代码的地方.所有构建都取自发布分支.我们正在使用Stash(Atlassian的Enteprise Git),并希望使用pull请求合并代码审查.

当有人提交拉取请求时,它会自动包括dev分支中尚未合并到发布分支的所有变更集,即使它们不是来自提交请求的用户.开发人员如何仅针对他们的更改而不是其他人提交请求?这是怎么回事?

我看到两个解决方法 -

  1. 为每个开发人员添加单独的分支,以便仅获取他们的更改.
  2. 如果pull请求来自多个开发人员,则添加多个批准者.

什么是最佳做法?

Rog*_*Rog 6

除了Robin的回答之外,推荐的方法是每个开发人员根据开发分支为他们所处理的每个功能创建一个分支.然后,创建的pull请求恰好表示代表特定功能或更改的更改.

一旦拉取请求被审查并合并到开发分支中,您用于合并到发布分支的过程就会简化并与审核过程分开.

Stash关于分支的文档Atlassian的git教程更详细地解释了这些概念.


Rob*_*een 5

拉取请求意味着“拉取请求”。拉动将拉动所有提交,包括它们的依赖关系-它不会挑剔单个提交。

因此,如果要请求仅撤回提交,并且同一分支中有其他人的提交,则必须首先将提交分成不同的分支。

  • 是的,它会。顺便说一句,这包括合并提交,因此如果将与拉取请求的目标分支不同的分支合并到该分支中,则合并提交及其两个父提交链(来自两个分支)将成为公关。这通常不是您想要的。 (3认同)
  • “所有提交”是否包括拉取请求*之后(合并之前)所做的所有提交?例如,假设以下内容:fork、makechange、commit、makepr、commit。即使 PR 是在第二次提交“之前”进行的,第二次提交是否会自动包含在拉取请求中?(假设第二次提交时pr尚未合并) (2认同)