GitHub 有大量本地提交等待推送到 Azure 上的主远程分支,但规则不允许

问题描述 投票:0回答:1

因此,我将 GitHub Desktop 与 Azure 上的 Git 存储库结合使用。 我已经克隆了远程仓库。 我基于 master 创建一个新分支。 我将分支发布到远程。 我添加一个文件。 我将这些更改提交给本地分支。 我将提交推送到原始远程。 我切换回 GitHub Desktop 中的 master 分支。 我将刚刚创建的分支合并到主分支中。

当我尝试将更改推送回主分支时,我收到以下消息:

总计 0(增量 0),重复使用 0(增量 0),打包重复使用 0(从 0)

https://dev.azure.com/********************* [远程拒绝] master -> master (TF402455:不允许推送到此分支;您必须使用拉取请求来更新此分支。) 错误:无法将一些参考推送到“https://dev.azure.com/************************”

这很好,因为此规则已在 Azure 上设置。 我转到 Azure DevOps 并创建拉取请求。 审阅者会收到一封电子邮件并批准 PR。 然后我去完成到主分支的合并。

我遇到的问题是我的机器上的 GitHub Desktop 客户端正在主分支上构建越来越多的本地提交,等待推送到远程(我不能这样做)。它似乎不知道在 Azure DevOps 上完成的拉取请求。我不确定我是否遗漏了一些完全明显的东西,或者我是否必须以某种方式手动告诉我的本地客户端,向主服务器的推送已被处理(或者也许他们还没有??)。我有点困惑。

屏幕截图1

git azure-devops github-desktop
1个回答
0
投票

由于

master
分支上设置了分支策略,因此您无法直接将更改推送到它。您需要创建一个 PR 以将另一个分支的更改合并到
master

当您在本地存储库中进行更改时,您应该:

  • 基于
    master
    创建一个新分支。
  • 在新分支上进行更改。
  • 将新分支推送到远程存储库。
  • 在远程存储库中创建 PR,将新分支的更改合并到
    master
    。推荐使用“
    Merge (no fast-forward)
    ”作为合并方法。
  • 在本地仓库中,切换到
    master
    分支,然后运行
    git pull
    git fetch
    将远程
    master
    的最新更改同步到本地
    master

对于您的情况,您可以尝试在本地

git pull
分支中运行
git fetch
master
看看是否可以工作。如果不起作用,您可能需要删除本地存储库,然后再次将远程存储库克隆到本地。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.