Git

【Git】No tracked branch configured for branch master or the branch doesn't exist.

小破孩
2022-12-08 / 0 评论 / 1,560 阅读 / 正在检测是否收录...

错误场景回顾

错误 No tracked branch configured for branch master or the branch doesn't exist 的核心原因是:

  • 本地 master 分支未配置跟踪的远程分支(即未关联 origin/master);
  • 或远程仓库中根本没有 master 分支(例如现代仓库默认分支是 main)。

第一步:先确认远程分支名称

# 查看远程仓库的所有分支(确定是否有 master,还是 main 等其他名称)
git ls-remote --heads origin

假设输出显示远程有 main 分支(最常见):ref: refs/heads/main ...

第二步:根据远程分支名称关联并拉取

情况1:远程有 master 分支
# 关联本地 master 到远程 origin/master
git branch --set-upstream-to=origin/master master

# 拉取(若本地与远程历史无关,才需要加 --allow-unrelated-histories)
git pull origin master  # 普通情况
# 或(历史无关时)
git pull origin master --allow-unrelated-histories
情况2:远程是 main 分支(推荐,符合现代规范)
# 关联本地 master 到远程 origin/main(如果想保留本地 master 分支名)
git branch --set-upstream-to=origin/main master

# 或(更推荐)将本地分支名改为 main,与远程保持一致
git branch -m master main  # 重命名本地分支为 main
git branch --set-upstream-to=origin/main main  # 关联远程 main

# 拉取(历史无关时加 --allow-unrelated-histories)
git pull origin main --allow-unrelated-histories
情况3:远程无对应分支(全新仓库)

若远程是刚创建的空仓库(无任何分支),直接推送本地分支并关联:

# 推送本地 master 到远程,同时创建并关联远程 master 分支
git push -u origin master

总结

以下关键点:

  1. 需先确认远程分支的实际名称(是 master 还是 main);
  2. --allow-unrelated-histories 仅在历史无关时使用,并非所有场景都需要;
  3. 现代仓库默认分支多为 main,直接用 origin/master 可能导致命令失败。
0

评论 (0)

取消