You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何向刚创建的Azure DevOps仓库推送时出现分支落后报错?

解决Azure DevOps仓库推送失败的问题

你的判断完全正确:远程仓库创建时自动生成的README.md、.gitignore提交,导致远程分支的提交记录比本地分支多一条。fetch命令只是拉取了远程的提交信息到本地,但并没有将这些内容合并到你的本地分支,所以推送时会被拒绝。

根据本地仓库的状态,你可以选择以下解决方案:

情况1:本地仓库还没有任何提交记录

  • 执行git pull --rebase origin main(如果你的默认分支是master,就替换成master)
    • --rebase参数能让本地分支的提交(这里为空)衔接在远程提交之后,保持提交历史的整洁
  • 完成后执行git push origin main即可正常推送

情况2:本地仓库已有自己的代码提交

如果本地已经做了提交,不想丢失这些内容,有两种方式处理:

方式一:合并远程提交到本地

  1. 确保拉取最新远程信息:git fetch origin
  2. 合并远程分支到本地:git merge origin main
    • 如果出现文件冲突(比如本地也有README.md或.gitignore),手动修改冲突文件,然后执行git add .和git commit完成合并
  3. 合并完成后执行git push origin main

方式二:变基(保持提交历史线性)

  1. 拉取最新远程信息:git fetch origin
  2. 执行变基命令:git rebase origin main
    • 若遇到冲突,解决冲突后执行git rebase --continue,直到变基完成
  3. 最后执行git push origin main

额外小技巧

如果本地仓库是刚初始化的,还没添加任何文件,也可以直接克隆远程仓库,再把本地项目文件复制进去提交:

  • 删除本地的.git文件夹(如果已经初始化)
  • 执行git clone <你的Azure DevOps仓库地址>
  • 将本地项目文件复制到克隆下来的文件夹中,执行git add .、git commit -m "初始化项目"、git push即可

内容的提问来源于stack exchange,提问作者1026

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:50:39