如何通过命令行在远程分支上执行Git pull请求
我有一种感觉,我用错了词,或者误解了我所用的词,这使得寻找我想做的事情变得困难 现在我有一个Git回购协议,它有3个分支托管在Azure Devops上(非常类似于Github/Gitlab/Bitbucket等) 我当前的流程是提交并在本地推送(使用PHP Storm),然后登录到Azure Devops并手动使用其UI执行从我的如何通过命令行在远程分支上执行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 我总共有三个分支机构开发,分期和生产 但是在我的本地机器
develope
分支到我的staging
分支的拉取请求。然后我登录到服务器,并从staging
分支提取git
我总共有三个分支机构开发
,分期
和生产
但是在我的本地机器上,我只开发了,
,其他的只存在于远程服务器上。我只是在develope
中工作,然后推到origin/develope
,然后将请求从develope
拉到staging
中,然后在准备好后再推到production
我认为必须有一种方法来编写一个脚本,一次完成所有这一切,而不必登录Azure Devops或服务器
尽可能简单地总结我的问题:
我当前必须登录Azure Devops并执行以下操作:
staging
分支旁边的“新建拉取请求”我发现通过登录服务器并执行以下操作,我基本上可以做我想做的事情:
(这将拉动最新的开发,即使我正在准备git pull
(这将在本地将develope合并到staging中)git merge origin/develope
(这将更新远程登台)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客户端中的术语“拉请求”所排挤了。