首页 > 解决方案 > 如何将git历史从一个分支连接到另一个分支?

问题描述

我搞砸了。

当我创建一个新分支时,我故意删除了所有内容(包括 .git 文件夹)。这是故意的,我想在不同的框架中重写我的项目并且不需要原始代码(删除 .git 不是故意的)。

现在,当我将新分支的 PR 提交给 master 时,GitHub 会显示以下消息:

没有什么可以比较的。

masternew_branch是完全不同的提交历史。

有道理,因为我删除了.git.

更重要的是,如果我git lognew_branch重新启动项目时开始历史记录,而不是在我最初创建存储库时开始。

有没有办法将我的master分支的 git 历史连接到我的开头new_branch

标签: gitgithub

解决方案


尝试这个:

  1. 从现有的 master 分支在本地存储库中创建另一个新分支:

    git checkout master && git branch new_new_branch
    
  2. 切换到刚刚创建的新分支,并将new_branch合并到其中:

    git checkout new_new_branch && git merge --allow-unrelated-histories new_branch
    
  3. new_new_branch现在应该包含master的整个历史记录,然后是new_branch的历史记录。它的头部提交/状态应该与new_branch相同。GitHub 应该允许您将new_new_branch的 PR 提交给另一个存储库中的master


推荐阅读