情况描述
Github因为奴隶制问题把默认分支的名字从master改成main了,但是我在IDEA2020上的项目已经用默认的master分支push好几次了,而且我的IDEA2020上还没有main分支可以选择。
查阅资料发现可以用git bash创建main分支并且把master分支上的内容合并到main分支上(同时commit和push记录也可以直接迁移的,不必担心之前的commit和push记录丢失),将改变push到github后github也会相应改变而且不需要操心仓库的内容是否会重复。
解决方案
找到项目文件夹,右键选择git bash,在命令行输入以下代码:
git checkout main #将git切换到main分支
git merge master #将master分支的内容迁移到main
如果合并成功可直接跳到4,如果遇到了“fatal: refusing to merge unrelated histories”看2。
“fatal: refusing to merge unrelated histories”解决方法
可能是因为两个分支的仓库不一样?我不确定是否为这个原因,但解决方案如下:在上面的语句后面加上 --allow-unrelated-histories,即
git merge master --allow-unrelated-histories
如果合并成功可直接跳到4,如果遇到了“Please enter a commit message to explain why this merge is neccesary”看3。
“Please enter a commit message to explain why this merge is neccesary”解决方法
这个意思是让你写一下为什么你非得合并,没有什么用。
不想写的话:键盘上敲“:wq”然后回车。
想写的话:键盘上敲“i”进入插入模式-写完后键盘上敲“ESC”退出插入模式-键盘上敲“:wq”然后回车。
回到git bash的界面后在命令行输入以下代码:
git push origin main #把合并结果push到github
git branch -d master #删除master分支
然后可以去github看看,commit记录应该已经改过来了,可以顺便去编程软件里检查一下分支选择。如果github的仓库更新了但是contribution贡献值里不显示你的commit记录那么参考https://mp.csdn.net/mp_blog/creation/editor/new/129359335