似乎你必须与github.com交互来发起一个拉请求。是这样吗?


当前回答

我使用简单的别名来创建拉请求,

alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'

其他回答

更新:hub命令现在是一个官方的github项目,也支持创建拉请求

原:

似乎在hub命令中添加一个特别有用的东西:http://github.com/defunkt/hub或github gem: http://github.com/defunkt/github-gem

我建议将问题提交给那些需要它的项目。github的人都很有反应。

注意:有些答案现在已经过时了。(2022-01-27) (例如使用gh Gem) 目前唯一能够做到这一点的工具是hub和gh。


一个男人搜索…

man git | grep pull | grep request

给了

git request-pull <start> <url> [<end>]

但是,尽管它的名字,它不是你想要的。根据文件:

生成一个请求,要求上游项目将更改拉入其中 他们的树。打印到标准输出的请求以 分支描述,总结变更并指出变更的位置 可以拉。

@HolgerJust提到了github宝石,做你想要的:

sudo gem install gh 
gh pull-request [user] [branch]

其他人提到了github的官方中心包:

sudo apt-get install hub

or

brew install hub 

then

hub pull-request [-focp] [-b <BASE>] [-h <HEAD>]

最后我自己做了,我发现它比周围的其他解决方案更好。

https://npmjs.org/package/pullr

我使用简单的别名来创建拉请求,

alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'

Git现在附带子命令' Git request-pull' [-p] <start> <url> [<end>]

你可以在这里看到文件

你可能会发现这很有用,但它与GitHub的功能并不完全相同。