master提交PR到main分支出现:There isn't anything to compare.main and master are entirely different commit histories.
解决方案
以下操作会强制覆盖原有代码,所以需要将要保留的内容提前存下来,覆盖后再手动更新上去。
git checkout master
git branch main master -f
git checkout main
git push origin main -f
为何不能合并?
在git checkout main之后会提示你执行git pull,试验发现合并失败,提示:fatal: refusing to merge unrelated histories,应该是和master不允许提交PR到main分支一个意思,没有相同的关联记录,即使代码差不多。
删除不需要的分支
删除本地master分支
git branch -D master
删除远程master分支
git push origin --delete master
如何github commit记录全部清除?
解决
- 新建orphan分支
git checkout --orphan latest_branch
- 将需要的文件添加到暂存区
git add -A
- Commit
git commit -m "..."
- 删除main分支
git branch -D main
- 将当前latest_branch分支重命名为main分支
git branch -m main
- 最后,推送到远程仓库
git push -f origin main
参考
- https://stackoverflow.com/questions/23344320/there-isnt-anything-to-compare-nothing-to-compare-branches-are-entirely-diffe
- https://github.com/lishuhao/blog/issues/9