似乎你必须与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命令行包装器,您可以将其链接到git,然后就可以执行 git pull请求

从hub的手册页:

   git pull-request [-f] [TITLE|-i ISSUE|ISSUE-URL] [-b BASE] [-h HEAD]
          Opens a pull request on GitHub for the project that the "origin" remote points to. The default head of the pull request is the current branch. Both base and head of the pull request can be explicitly given in one  of  the  following  formats:  "branch",  "owner:branch",
          "owner/repo:branch". This command will abort operation if it detects that the current topic branch has local commits that are not yet pushed to its upstream branch on the remote. To skip this check, use -f.

          If TITLE is omitted, a text editor will open in which title and body of the pull request can be entered in the same manner as git commit message.

          If instead of normal TITLE an issue number is given with -i, the pull request will be attached to an existing GitHub issue. Alternatively, instead of title you can paste a full URL to an issue on GitHub.

是的。可以安装hub CLI util。 在MACOS上:brew安装中心

你需要有一次GitHub令牌登录。

用户->开发设置->个人令牌->生成 (参见:https://github.com/settings/tokens)

git checkout -b mybranch
hub pull-request -b master -h mybranch

#user:     your_user_name
#password: your_git_token

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

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的功能并不完全相同。

除了github/hub,它作为Git的代理,你现在(2020年2月)有cli/cli:

参见“增强你的命令行体验:GitHub CLI现在处于测试版”

创建一个拉请求 创建一个分支,多次提交以修复问题中描述的错误,并使用gh创建一个拉请求来共享您的贡献。

通过使用GitHub CLI来创建拉取请求,当你还没有一个分叉时,它也会自动创建一个分叉,它会推送你的分支并创建你的拉取请求,以合并你的更改。


2020年4月:“GitHub CLI现在支持自动填充拉取请求和自定义配置”

GitHub CLI 0.7发布了我们beta版用户反馈的几个最受欢迎的增强功能。 自上一个小版本0.6以来,有三个主要特性: 将gh配置为使用gh配置集编辑器[editor]的首选编辑器。 配置gh默认为SSH,使用gh config set git_protocol SSH。 Git默认协议为HTTPS。 用gh pr create -fill自动填充你提交的pull请求的标题和正文。

So:

gh pr create --fill