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

时间:2014-08-12 16:05:38

标签: git pull-request

我正在使用GIT和拉取请求工作流程(https://www.atlassian.com/git/workflows#!pull-request)。

通常所有开发人员在创建拉取请求之前运行所有测试,但我想确保拉取请求不会破坏构建。

如何在合并拉取请求之前运行我的所有测试

2 个答案:

答案 0 :(得分:3)

# Create a temporary branch in your local repository.
git checkout -b temp-branch
# Merge the remote branch that contains the pull request.
git pull git://foo.com/repo.git feature-branch
# Run tests.
make test
# Go back to the previous branch.
git checkout -
# Delete the temporary branch.
git branch -D temp-branch

如果测试通过,请将pull请求合并到实际目标分支中。

另一种方法是使用仅用于测试目的的暂存分支。一旦测试通过该分支,提交就可以继续进行。这种方式可能更容易实现自动化。

答案 1 :(得分:2)

也许是运行git merge --no-commit,然后运行测试,然后运行git commitgit reset --hard HEAD,具体取决于测试的结果?