git - 用孤立分支重写 master 但保留历史记录
问题描述
master
在我的项目中,我从分支中的很多提交开始。在发布了几次之后,我意识到我所采用的方法可能根本不是我们想要的。
新方法需要完全重写代码,所以我决定从一个孤立分支 ( a-new-beginning-branch
) 开始。我喜欢它,最终,它成为了我事实上的主分支。现在我想master
用a-new-beginning
.
我找到了如何使当前的 Git 分支成为主分支,但是当按照那里显示的步骤进行操作时,我收到了错误消息fatal: refusing to merge unrelated histories
。我知道我可以使用该–allow-unrelated-histories
选项,但我并不真正了解它的作用,也不想破坏。
我还找到了如何用孤立分支覆盖主分支,但我不想删除主分支中的历史记录。
理想情况下,我希望得到一个直系历史,但如果这不可能,我也会对某种合并感到满意。
任何想法将不胜感激!
解决方案
我不明白您为什么要保留当前master
分支的当前历史记录a-new-beginning
。
如果您的目标只是拥有一个以您的分支master
历史命名的a-new-beginning
分支,您可以这样执行:
git branch -m master master-backup
git push origin :master master-backup
git branch -m a-new-beginning master
git push origin :a-new-beginning master
这样,您将在本地和远程更新分支。
推荐阅读
- php - PHP Slim 3 - 在一条纤细的路由中访问类对象实例
- c# - 无法批量加载。文件“csv”不存在或您没有文件访问权限——Azure
- javascript - 单击/触摸事件上的背景颜色更改在触摸设备上不起作用
- mysql - 如何在 phpMyAdmin 中使用 MySQL 构建条件过程以对多个表进行操作(if-then-insert-else-update)
- r - R Shiny 基于“html 模板”的应用程序中的 highcharter 集成
- java - Oracle ADF 中的正则表达式
- python - 如何在刽子手游戏中添加空格
- android - 从网格 RecyclerView 到 details 活动的共享过渡效果
- python - Python抓取错误MissingSchema:无效的URL
- python - 随机森林多类 Python 不会提高准确性