从命令行创建/更新Git pull请求?

时间:2015-07-27 08:52:03

标签: git unix command-line pull-request

我需要从命令行创建一个git pull-request,而不需要安装任何包装器或其他软件。有没有办法在git中这样做? 我似乎无法找到任何支持此功能的官方git文档。

5 个答案:

答案 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:

要让他们工作,您必须在您的回购中正确配置originupstream分支。 它们以粗略的方式工作,通过解析git remote命令的输出来构造适当的GitHub / Stash拉取请求URL,然后在浏览器中打开它们。

shell脚本还检查其他内容,例如确保从正确的分支等打开pull请求。

对于GitHub,还要看看

可以猜出下一个拉取请求的数量,并在推送之前将其放入提交消息中。

答案 2 :(得分:1)

Bash脚本

看看下面的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 closegh pr reopengh issue closegh issue reopen关闭并重新打开拉取请求和问题。

在我们的README中了解如何升级!

答案 4 :(得分:-1)

UPD :看起来它是真的,你不能“开箱即用”。你必须安装一个包装器。检查这个Can you issue pull requests from the command line on GitHub?也许你可以在那里找到解决方案。