用git bash创建本地的main分支并将master分支的提交记录合并到main分支

情况描述

Github因为奴隶制问题把默认分支的名字从master改成main了,但是我在IDEA2020上的项目已经用默认的master分支push好几次了,而且我的IDEA2020上还没有main分支可以选择。

查阅资料发现可以用git bash创建main分支并且把master分支上的内容合并到main分支上(同时commit和push记录也可以直接迁移的,不必担心之前的commit和push记录丢失),将改变push到github后github也会相应改变而且不需要操心仓库的内容是否会重复。

解决方案

  1. 找到项目文件夹,右键选择git bash,在命令行输入以下代码:

git checkout main #将git切换到main分支
git merge master #将master分支的内容迁移到main

如果合并成功可直接跳到4,如果遇到了“fatal: refusing to merge unrelated histories”看2。

  1. “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。

  1. “Please enter a commit message to explain why this merge is neccesary”解决方法

这个意思是让你写一下为什么你非得合并,没有什么用。

  • 不想写的话:键盘上敲“:wq”然后回车。

  • 想写的话:键盘上敲“i”进入插入模式-写完后键盘上敲“ESC”退出插入模式-键盘上敲“:wq”然后回车。

  1. 回到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

你可能感兴趣的:(编程中遇到的问题,git,github)