因此,我将 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 上完成的拉取请求。我不确定我是否遗漏了一些完全明显的东西,或者我是否必须以某种方式手动告诉我的本地客户端,向主服务器的推送已被处理(或者也许他们还没有??)。我有点困惑。
由于
master
分支上设置了分支策略,因此您无法直接将更改推送到它。您需要创建一个 PR 以将另一个分支的更改合并到 master
。
当您在本地存储库中进行更改时,您应该:
master
创建一个新分支。master
。推荐使用“Merge (no fast-forward)
”作为合并方法。master
分支,然后运行 git pull
或 git fetch
将远程 master
的最新更改同步到本地 master
。 对于您的情况,您可以尝试在本地
git pull
分支中运行 git fetch
或 master
看看是否可以工作。如果不起作用,您可能需要删除本地存储库,然后再次将远程存储库克隆到本地。