如何使用集线器从命令行合并PR?

时间:2018-12-28 14:42:04

标签: git github git-flow

我在项目中的 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 部分,直到现在似乎没有任何效果。

2 个答案:

答案 0 :(得分:3)

应该可以使用git的merge命令从命令行合并功能分支。首先,您需要检出要合并的分支(在这种情况下是开发分支):

git checkout develop
git merge --no-ff my-feature-123
git push

--no-ff用于防止快速合并,这是您想要gitflow的行为。

答案 1 :(得分:1)

无法通过专用于拉取请求和执行合并的hub命令来实现。

但是,可以使用hub-apiPulls 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" "$@"