git - 如何将git历史从一个分支连接到另一个分支?
问题描述
我搞砸了。
当我创建一个新分支时,我故意删除了所有内容(包括 .git 文件夹)。这是故意的,我想在不同的框架中重写我的项目并且不需要原始代码(删除 .git 不是故意的)。
现在,当我将新分支的 PR 提交给 master 时,GitHub 会显示以下消息:
没有什么可以比较的。
master和new_branch是完全不同的提交历史。
有道理,因为我删除了.git
.
更重要的是,如果我git log
在new_branch
重新启动项目时开始历史记录,而不是在我最初创建存储库时开始。
有没有办法将我的master
分支的 git 历史连接到我的开头new_branch
?
解决方案
尝试这个:
从现有的 master 分支在本地存储库中创建另一个新分支:
git checkout master && git branch new_new_branch
切换到刚刚创建的新分支,并将new_branch合并到其中:
git checkout new_new_branch && git merge --allow-unrelated-histories new_branch
new_new_branch现在应该包含master的整个历史记录,然后是new_branch的历史记录。它的头部提交/状态应该与new_branch相同。GitHub 应该允许您将new_new_branch的 PR 提交给另一个存储库中的master。
推荐阅读
- xslt - 删除 XSL 匹配后的下一个元素
- c++ - 将数组分配给更高维数组
- android - 边缘屏幕导航抽屉按钮显示白框android
- amazon-redshift - Redshift 在名为“MM”的列上失败
- azure - Active Directory:我是否需要在 azure 中同时注册本机应用程序和 Web 应用程序,或者我可以同时使用 1 个注册的应用程序吗?
- angular - 在 Ionic 4 Angular 6 中解决循环中的所有可观察对象时采取行动
- extjs - 如何在 Ext JS 中隐藏和显示位于网格内的按钮?
- python-3.x - xlrd 不适用于 1997 - 2003 xls 文件:
- sql - 如何在 SQL 中同时显示两列?
- javascript - vue-cli 3 中的 Webpack postcss 前缀