标签: pull-request

处理拒绝/拒绝的拉取请求

所以,我对git一般都非常流利,但我从未使用过基于分支的工作流程,而且大多数都使用Gerrit.我对Pull Requests很新.

Pull Requests主要与我相似,因为一个分支被推向Gerrit,等待审查.在Gerrit中,如果我的某个提交出现问题,则会留下评论并收到非正评分.通过Pull Request,可以留下评论,并且可以拒绝评论.在Gerrit中,为了解决提出的问题,我修改了违规提交并再次推送它们(好吧,具有相同Change-Id的新提交).如何更新Pull请求?只需在顶部推送修复提交?取消拉取请求(这可能吗?),修改我的提交并推送新的提交?

我们正在为我们的项目使用Bitbucket,现在我们正在计划避免分支,只是从功能分支中获取拉取请求(我们的"生产"分支),主要是因为这感觉更贴近我熟悉的内容.

git bitbucket pull-request

5
推荐指数
1
解决办法
7793
查看次数

我如何才能找到接受了多少GitHub拉取请求?

有没有办法找出一个人的GitHub PR的接受率,可能使用API​​?

在此期间,有趣的是找出我所报告的有多少问题已经关闭,而且仍然是开放的,在所有回购中.

github github-api pull-request

5
推荐指数
2
解决办法
168
查看次数

将提交添加到合并的分支并启动新的拉取请求

以下是迄今为止的情况:

  1. 在分支A上做了一些工作;
  2. 在分支A上提交拉取请求;
  3. Pull Request已合并到上游;

现在,我想为分支A添加一些工作.是否可以重新打开现有的Pull Request,以便可以添加额外的提交,然后再次重新合并?如果没有,我怎么能以干净的方式做到这一点?我考虑过创建另一个分支并从那个分区打开一个Pull Request,但它似乎不正确,额外的工作应该提交给同一个分支.

git github pull-request

5
推荐指数
1
解决办法
2503
查看次数

强制执行代码审查并使集成分支保持原始状态的工作流(git,Stash,TeamCity)

我正在尝试设计遵循以下原则的新工作流程:

  • 只有已通过自动验证(CI)的提交才应合并到主线中(具体而言,合并状态应通过CI以使集成分支尽可能保持原始状态)
  • 只有通过人工代码审查的提交才应合并到主线中
  • 只有通过自动验证的提交应该由另一个人审查(如果它甚至没有构建和通过测试,不要浪费别人的时间)
  • 功能分支应该由CI覆盖(独立,不合并到集成分支 - 这对开发期间的开发人员有帮助)

我们正在使用git,Stash和TeamCity.这就是我想出来的,但它们都不是完美的.我正在寻找对我的建议或新想法的调整.

工作流程1

  • 开发人员在功能/ VHPC-1上开发(功能分支由TeamCity中的常规CI覆盖)
  • 功能完成后,开发人员会创建一个拉取请求:feature/VHPC-1 - > mainline
  • 当拉取请求被另一个开发人员批准时,它会被Stash自动合并到主线中(主线由TeamCity中的普通CI覆盖)

  • 问题:如果存在合并冲突,Stash将不会执行合并,但直到合并到主线之后才会测试合并状态.我们不知道主线是否会发生故障.

工作流程2

  • 开发人员在功能/ VHPC-1上开发(功能分支由TeamCity中的常规CI覆盖)
  • 开发人员从功能/ VHPC-1推送到功能/ VHPC-1 /审查(我们重新设置集成分支,然后执行CI(测试合并状态))
  • 功能完成后,开发人员会创建一个拉取请求:feature/VHPC-1/review - > mainline
  • 当拉取请求被另一个开发人员批准时,它会被Stash自动合并到主线中(主线由TeamCity中的普通CI覆盖)

  • 问题:测试合并状态之间的时间(20分钟 - 1天?),并且集成发生允许集成分支中的更改,这可能意味着合并状态不再起作用.整合分支破裂的机会.

  • 问题:分支数量的两倍意味着一些额外的复杂性和工作.

工作流程3

  • 开发人员在功能/ VHPC-1上开发(功能分支由TeamCity中的常规CI覆盖)
  • 功能完成后,开发人员会创建一个拉取请求:feature/VHPC-1 - > feature/VHPC-1/review
  • 当另一个开发人员批准并合并拉取请求时,feature/VHPC-1/review将在合并状态下自动构建和测试,并在成功时自动充当主线

  • 问题:分支数量的两倍意味着一些额外的复杂性和工作.

  • 问题:提交必须始终集成到主线中,并且只能选择发布分支.

工作流程4

  • 开发人员在功能/ VHPC-1上开发(功能分支由TeamCity中的常规CI覆盖)
  • 功能完成后,开发人员创建一个拉取请求:feature/VHPC-1 - > mainline TeamCity会自动添加一个审阅者,并尝试构建并测试拉取请求 - 处于合并状态(使用Stash的未记录的refs/pull) -REQUESTS /合并)
  • 如果自动验证通过,TeamCity将批准拉取请求.然后,人可以审查,批准并将其合并到主线中.

  • 问题:TeamCity监视refs/pull-requests/merge,当集成分支发生变化时,这会改变,这意味着当集成分支获得一个新的更改时,将在所有打开的pull请求上触发构建.

git teamcity continuous-integration pull-request bitbucket-server

5
推荐指数
1
解决办法
2436
查看次数

拉取请求合并,关闭,然后还原 - 现在无法再拉动分支

经过几次操作后,GitHub似乎有点失落 - 我当然......

所以,这就是故事:
我是git的新手,也是github的新手.在我的存储库中,我有一个分支(让我们称之为B)我正在处理一个功能.

  1. 为了使事情透明,我创建了一个拉取请求.
  2. 我的合作者(完整的git/github新手)点击合并拉取请求(可能只是探索界面).
  3. 该功能还没有准备好,所以我还原了合并.

现在我想继续我在分支B上的工作,然后合并它,但是虽然分支是不同的超过800行,GitHub显示只有一行差异(一次提交).

这可能是因为我在恢复更改后尝试重新打开旧的pull请求.我确实重新打开了拉取请求,但合并选项不再可用.我试图关闭或打开老拉请求,并创建一个新的拉请求(拉分支Bmaster),但这种只显示了一个承诺,仿佛其余的全是由原始拉请求吃掉了(尽管已恢复).但是,如果我尽量拉masterB-它显示所有(约800 +/-300差)的不同之处.

我想回到分支机构安静地工作B- 我想回到B可以自动合并的那一刻(现在不可能因为新的拉动请求只显示一个微小的差异B,master而实际的差异是不同的) .最简单的方法是什么?

git merge github pull-request

5
推荐指数
1
解决办法
5841
查看次数

通过电子邮件发送有关Visual Studio Online中拉取请求的注释的警报

在Visual Studio Online中,我们已经能够设置拉取请求的通知,因此现在可以在创建,更新和完成一个时收到电子邮件警报.但是,在对代码更改发表评论时,不会发送电子邮件警报.由于我们将此作为代码审查的论坛,因此拉取请求的创建者获得通知的唯一方法是让审阅者添加他们的注释并将其响应设置为已拒绝.

当对拉取请求中的代码更改发表评论时,有什么方法可以收到警报吗?

pull-request azure-devops

5
推荐指数
0
解决办法
192
查看次数

Git pull请求说"这个分支有必须解决的冲突"

我从一个开源存储库分叉并从我的fork克隆.我创建了一个功能分支,进行了一些更改,将它们推送到我的分叉仓库,并从那里向主仓库提交了拉取请求.

后来我对同一个本地功能分支进行了更多更改,从开源repo中取出最新的master,将我的更改重新设置为,然后将它们推送到我的fork上的同一个功能分支.pull请求已自动更新,但现在GitHub上的pull请求页面(在我的repo和主repo中)都注意到"所有检查都已通过",但随后说"此分支有必须解决的冲突".

这仅仅是因为在我提交之后其他拉取请求已经合并了吗?或者是否还有另一个冲突的原因?我如何找出原因?

我在提交这个问题之前看到的答案涉及合并具有不同名称或所有者的分支.我想知道:

  1. 我是否正确执行了拉取请求?如果没有,应该有什么不同?(在变基之后和提交拉取请求之前,我的本地git没有冲突.)
  2. 如果在修改拉取请求后对开源主分支进行了其他更新,是否会导致出现"分支冲突"错误?
  3. 如果拉取请求已正确完成,并且如果以后从其他地方更新不会导致该错误,我如何找出导致错误的原因?

git github pull-request

5
推荐指数
1
解决办法
5524
查看次数

配置github(企业)存储库以仅允许快速前进提交/ PR合并?

从gerrit到github,我缺少一个主要功能,即仅允许快速向前合并。从本质上讲,我认为,如果您要在陈旧的master分支上进行更改,则任何类型的“ CI构建签名”都是没有用的。

我想知道是否有任何方法可以在(企业)github中配置它?是否有任何设置或其他技巧,除非分支被正确地重新设置,否则不允许用户按下github中的“合并拉取请求”按钮?

最好,我什至想补充一点,它还应该检查PR中的所有提交是否都被压缩(除非PR仅包含一个提交,否则PR无法合并)。

因此,完美的解决方案:只允许具有单个提交且先前已重新定基础的PR合并。

git continuous-integration github pull-request

5
推荐指数
1
解决办法
367
查看次数

有没有办法将拉取请求转换回草稿拉取请求?

我开始在Github上使用新的草稿拉取请求功能,但是我想知道是否可以在不小心提出拉取请求的情况下将合法的拉取请求转回草稿拉取请求。

git github pull-request

5
推荐指数
1
解决办法
80
查看次数

如何使Bitbucket PR表现得像Github

当在Bitbucket Cloud上创建请求请求时,这是有效负载的重要部分,该负载由Bitbucket webhooks进行回购以进行POST:

{
  "destination": {
    "commit": {
      "hash": "b0xxxx9b05e6",
      "type": "commit"
    },
    "repository": {
      "type": "repository",
      "name": "test-repo",
      "full_name": "ntrs/test-repo",
      "uuid": "{4exxxx51-e5df-49a7-9601-5d24cb50d3bd}"
    },
    "branch": {
      "name": "master"
    }
  },
  "source": {
    "commit": {
      "hash": "3dxxxxea3b8f",
      "type": "commit",
    "repository": {
      "type": "repository",
      "name": "test-repo",
      "full_name": "ntrs/test-repo",
      "uuid": "{4exxxx51-e5df-49a7-9601-5d24cb50d3bd}"
    },
    "branch": {
      "name": "temp"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

因此,与Github不同,Bitbucket不会创建一些具有合并功能的临时分支-因此,我是否希望自己进行合并以创建一些可以提交以进行测试的合并提交?如您所见,我所拥有的只是源提交和目标提交,而不是要测试的新合并提交。

bitbucket pull-request bitbucket-cloud

5
推荐指数
0
解决办法
84
查看次数