我在项目中的 gitflow 工作流之后,将 git / hub 与 github 一起使用,我想知道是否有一种简单的方法避免进入github合并并关闭我的拉取请求。
我当时关注的是这个问题。
git checkout -b my-feature-123 develop
git add .
git commit -m "my changes"
git push origin my-feature-123
hub pull-request -m "my changes" -b develop
#enter guthub and merge PR
#run deployment
git checkout develop
git pull origin develop # everything up-to-date
所以我想用命令行合并命令替换 #enter guthub并合并PR 部分,直到现在似乎没有任何效果。
答案 0 :(得分:3)
应该可以使用git的merge命令从命令行合并功能分支。首先,您需要检出要合并的分支(在这种情况下是开发分支):
git checkout develop
git merge --no-ff my-feature-123
git push
--no-ff用于防止快速合并,这是您想要gitflow的行为。
答案 1 :(得分:1)
无法通过专用于拉取请求和执行合并的hub
命令来实现。
但是,可以使用hub-api和Pulls API,并使用以下脚本(source):
#!/bin/bash
# Usage: hub-pr-merge <PR-NUMBER>
#
# Cause a pull request to be merged into its respective base branch.
#
# Author: Oliver Joseph Ash
# If a script errors, force the script to fail immediately.
set -e
ID=$1
shift 1
# https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button
hub api -XPUT "repos/{owner}/{repo}/pulls/$ID/merge" "$@"