我正在使用GIT和拉取请求工作流程(https://www.atlassian.com/git/workflows#!pull-request)。
通常所有开发人员在创建拉取请求之前运行所有测试,但我想确保拉取请求不会破坏构建。
如何在合并拉取请求之前运行我的所有测试?
答案 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 commit
或git reset --hard HEAD
,具体取决于测试的结果?