如何在合并之前测试拉取请求?

时间:2017-03-23 16:50:04

标签: git github

我是团队的一员。我们的过程是创建一个单独的分支,在单独的分支上工作,然后将该分支推送到“origin”并发出拉取请求来掌握。

我正在尝试使用默认命令行Git。

当另一个人在分支上发出拉取请求时。是否有一种简单的方法将该分支拉到我的本地并检查分支,以便我可以在批准拉取请求之前测试代码?

6 个答案:

答案 0 :(得分:6)

甚至可以检查"远程分支"直接,不需要创建本地分支(git会说你正在处理分离的HEAD 状态),所以,使用Sajib的例子:

length

答案 1 :(得分:4)

您可以签出创建拉取请求的分支(例如feature)。

$ git fetch
$ git checkout -b test-feature origin/feature  # create a new branch 'test-feature' with 'origin/feature' history
# now test here

您可以将master合并到test-feature分支,并测试一切是否正常!

$ git pull origin master
# test more

答案 2 :(得分:3)

首先,你必须获取分支:

git fetch origin

然后您可以列出所有已更改的文件:

git diff --name-only origin/master 

答案 3 :(得分:0)

正如有些人建议您可以查看有问题的分支机构。您也可以拉取拉取请求本身,如Github here所述。

我制作了a tool,它会自动将所有拉取请求部署到您自己服务器上的唯一临时测试网址,如果您希望您的QA团队能够测试拉取请求而不需要他们每台机器上的开发环境。

答案 4 :(得分:0)

免责声明:我是Pull Dog的创建者,但我确实相信它可以很好地解决此特定问题。

我做了一个GitHub app called Pull Dog。对于您打开的每个拉取请求,它都将获取您的docker-compose.yml文件,创建一个新的测试环境,在其上运行docker-compose up,打开防火墙中的暴露端口,并为每个链接发布一个包含连接详细信息的链接。这些端口。

Portainer(截至撰写本文时,在GitHub上有1.5万颗星)正在将其用于他们的项目。您可以查看他们的任何请求请求,以了解其行为。

要点:

  • 完全管理。不需要托管任何东西。
  • 花了我47秒来设置自己的项目。
  • 可满足最基本需求的免费计划,否则价格便宜。

答案 5 :(得分:0)

如果您使用的是 github,请转到拉取请求并滚动到向下。单击命令行说明(在合并拉取请求按钮旁边)。展开它。按照第一步。更改将被拉到另一个分支的本地。 see this image for clarification