如何通过命令行在远程分支上执行Git pull请求

如何通过命令行在远程分支上执行Git pull请求,git,azure-devops,git-merge,pull-request,Git,Azure Devops,Git Merge,Pull Request,我有一种感觉,我用错了词,或者误解了我所用的词,这使得寻找我想做的事情变得困难 现在我有一个Git回购协议,它有3个分支托管在Azure Devops上(非常类似于Github/Gitlab/Bitbucket等) 我当前的流程是提交并在本地推送(使用PHP Storm),然后登录到Azure Devops并手动使用其UI执行从我的develope分支到我的staging分支的拉取请求。然后我登录到服务器,并从staging分支提取git 我总共有三个分支机构开发,分期和生产 但是在我的本地机器

我有一种感觉,我用错了词,或者误解了我所用的词,这使得寻找我想做的事情变得困难

现在我有一个Git回购协议,它有3个分支托管在Azure Devops上(非常类似于Github/Gitlab/Bitbucket等)

我当前的流程是提交并在本地推送(使用PHP Storm),然后登录到Azure Devops并手动使用其UI执行从我的
develope
分支到我的
staging
分支的拉取请求。然后我登录到服务器,并从
staging
分支提取git

我总共有三个分支机构
开发
分期
生产

但是在我的本地机器上,我只开发了
,其他的只存在于远程服务器上。我只是在
develope
中工作,然后推到
origin/develope
,然后将请求从
develope
拉到
staging
中,然后在准备好后再推到
production

我认为必须有一种方法来编写一个脚本,一次完成所有这一切,而不必登录Azure Devops或服务器

尽可能简单地总结我的问题:

我当前必须登录Azure Devops并执行以下操作:

  • 登录Azure Devops
  • 单击分支
  • 单击
    staging
    分支旁边的“新建拉取请求”
  • 编写提交消息(实际标记为“标题”)
  • 单击“完成”
  • 单击“完成合并”
  • 我希望避免登录Azure Devops,并能够通过命令行实现这一点。这可能吗

    更新
    我发现通过登录服务器并执行以下操作,我基本上可以做我想做的事情:

    • git pull
      (这将拉动最新的开发,即使我正在准备
    • git merge origin/develope
      (这将在本地将develope合并到staging中)
    • git push
      (这将更新远程登台)

    这是一个完美的工作方式,尽管有一个缺点是似乎没有办法跟踪
    登台
    距离
    开发
    有多远,这是由azure devops UI提供的。

    有一个azure命令行客户端,您可以使用它,但不能合并一个。如果您还想合并它,您需要使用Zeitounator提到的API


    根据您想要执行的操作,您可能可以使用
    azure repos pr update
    命令和
    --auto complete
    使其在您满意时自动合并,作为一种解决方法。

    实际上,在azure DevOps中有多种方法来创建拉取请求。例如:从web上的拉取请求页面,团队EVisualStudio中的xplorer,链接工作项中的开发部分

    您正在寻找的是创建从Git Bash到Azure DevOps的pull请求。

    我们可以使用vstscli命令扩展Git别名来实现它

    我们可以创建拉请求

    有关详细信息,您可以查看此文档:

    此外,您还可以创建PowerShell脚本来简化流程。基本上,您需要做的是:

    • 获取Azure DevOps访问令牌
    • 将令牌传递给PowerShell并让其运行安装步骤

      你可以在这里查看详细信息


    我发现通过登录服务器并执行以下操作,我基本上可以做我想做的事情:

    git pull

    (即使我在舞台上,这也会吸引最新的发展

    git合并来源/开发-m“我的提交消息”

    (这将在本地将开发合并到暂存中)

    git推送

    (这将更新远程登台)


    您还需要在本地进行开发才能使其正常工作。

    这方面有一个API:-我绝对没有XP。但是可能有人已经使用API编写了一个命令行实用程序(相当于…)@Zeitounator啊,它是否必须通过Azure api完成,这需要额外的身份验证等?我假设它可以简单地通过git命令完成。一个选项是通过管道协调它。有条件的步骤通过api创建和完成PR,基于您的提交消息。$Build.SourceVersionMessage.啊,这是否必须通过Azure api来完成,这需要额外的身份验证等?我认为这可以通过git命令来完成。拉请求不是git固有的概念。它们是由各种平台构建在它之上的东西。这就是为什么我很难在谷歌上搜索它的原因。我一直在试图找出b执行拉请求的好处是与合并相比,似乎我对问题的更新正是我想要的。我想我只是被web客户端中的术语“拉请求”所排挤了。