github中main与master,master无法合并到main

文章目录

遇到问题

上传 github 时候,发现传上去的是 master,但是 github 竟然还有一个 main

背景

github 采用 main 替代 master 作为主分支不是出于技术背景,而是出于 2020 年全球范围内兴起的 "Black Lives Matter"

然后在 2020 年 6 月宣布将默认分支名称从 master 改为 main 了,,,

为什么 master 合并不到 main 上去呢?

从 Git 2.9 版本开始,Git 默认不允许合并没有共同祖先的分支,以此避免意外合并两个不同项

怎么做

shell 复制代码
git fetch origin
git checkout main
git merge master
# 可能提示错误:fatal: refusing to merge unrelated histories

git merge master --allow-unrelated-histories

然后你再正常提交

那这次你终于解决了,以后怎么办呢?

如果是本地已经有的项目,使用 master 分支名

shell 复制代码
# 重命名本地分支
git branch -M main

# 推送新分支到远程仓库
git push -u origin main

# 删除远程旧分支
git push origin --delete master

如果以后新项目想所有初始化项目都弄成 main 呢

shell 复制代码
git config --global init.defaultBranch main
相关推荐
喷火龙8号12 小时前
一次完整的 Git 提交撤销与代码恢复经历
github
努力犯错玩AI13 小时前
微软开源TTS模型VibeVoice:一键生成90分钟超长多角色对话,告别机械音!
人工智能·后端·github
自动花钱机14 小时前
Cherry-pick冲突与Git回滚
git
绝无仅有15 小时前
Go 语言常用命令使用与总结
后端·面试·github
绝无仅有19 小时前
部署 Go 项目的 N 种方法
后端·面试·github
阿迪卡多19 小时前
Tonatiuh-实际案例
github
阿迪卡多19 小时前
Tonatiuh-Flux Distribution Tool
github
coderklaus20 小时前
git rebase
git
ansurfen20 小时前
Hulo 语言开发分享 —— 调试器是如何工作的?
后端·github
苏元20 小时前
☠️ 写错 commit = 绩效自爆,别说我没提醒你!
git