我需要从命令行创建一个git pull-request,而不需要安装任何包装器或其他软件。有没有办法在git中这样做? 我似乎无法找到任何支持此功能的官方git文档。
答案 0 :(得分:5)
令人惊讶的是(对很多人来说),拉请求是git世界中的一等公民而不是GitHub发明的东西。
使用git request-pull
创建一个电子邮件文本,您可以将该文本发送给应该从服务器获取某些修订版的人。
这个服务器可能是非常基本的东西,如只读文件共享或其他任何东西。
Git Book中深入讨论了这个主题:https://git-scm.com/book/ch5-2.html
示例:您分叉了一个repo,从origin/master
分支引入了一个补丁并将其发布到名为//myserver/myrepo.git
的文件共享上。然后你输入
git request-pull origin/master //myserver/myrepo.git
然后获取命令的输出,将其粘贴到电子邮件中,然后提出拉动请求。
答案 1 :(得分:1)
编辑:
似乎你想要一个GitHub拉取请求,而不是Git pull请求。 为了看到差异,这个答案有一个很好的解释:
https://stackoverflow.com/a/6235394/245966
<击> 没有&#34;拉请求&#34;在Git本身。 拉动请求的概念是由使用Git的平台引入Git生态系统的,例如GitHub或Atlassian Stash。
因为它不是&#34; native&#34; Git概念,你没有任何Git内置函数来从命令行打开GitHub拉取请求。
击>
有一个https://github.com/github/hub工具,可以帮助您从命令行自动执行常见的GitHub流程。
话虽如此,当谈到打开GitHub拉取请求或Atlassian Stash拉取请求时,我写了一些命令行工具,你可以放入PATH
来完成这项工作。它们是针对我的特定用例编写的,可以随意根据您的需要进行修改并使用它们。
对于GitHub:
对于Atlassian Stash:
要让他们工作,您必须在您的回购中正确配置origin
和upstream
分支。
它们以粗略的方式工作,通过解析git remote
命令的输出来构造适当的GitHub / Stash拉取请求URL,然后在浏览器中打开它们。
shell脚本还检查其他内容,例如确保从正确的分支等打开pull请求。
对于GitHub,还要看看
npm install -g underscore
)可以猜出下一个拉取请求的数量,并在推送之前将其放入提交消息中。
答案 2 :(得分:1)
看看下面的article,它将帮助您从命令行创建PR。
hub
包hub
软件包。遵循此link。git checkout -b your-branch-name
git commit --allow-empty -m "Your commit message"
git push --set-upstream origin your-branch-name
hub pull-request
答案 3 :(得分:0)
2020年5月:您可以使用GitHub CLI "gh"
请参阅“ GitHub CLI allows you to close, reopen, and add metadata to issues and pull requests”
GitHub CLI 0.8使从终端处理请求和问题变得更加简单。此版本包括两个主要功能:
- 在创建添加元数据后,您不再需要立即在浏览器中打开问题或拉出请求。
现在,您可以在创建请求请求和问题时添加审阅者,标签,受让人,项目和里程碑(如适用)。- 直接从CLI使用
gh pr close
,gh pr reopen
,gh issue close
和gh issue reopen
关闭并重新打开拉取请求和问题。在我们的
README
中了解如何升级!
答案 4 :(得分:-1)
UPD :看起来它是真的,你不能“开箱即用”。你必须安装一个包装器。检查这个Can you issue pull requests from the command line on GitHub?也许你可以在那里找到解决方案。