如何在具有完全不同的提交历史的分支之间创建拉取请求

How can I create a pull request between branches with entirely different commit histories

我有两个提交历史完全不同的分支,我需要创建一个从其中一个到另一个的拉取请求 - NOT MERGE -。当我尝试时,它给了我这个:

我试图推动相互提交,但这不起作用。它的最佳实践是什么?我是初学者,这是我第一次处理它。

我应该如何使用 pull 分支中包含的所有文件创建此拉取请求?

可以pull-request 等价于 git merge --allow-unrelated-histories。你可以这样做:

# First, create a new branch based on main:
git switch -c history-merge main

# Next, merge your branch with the unrelated history into `history-merge`
#
# Resolve any merge conflicts at this time,
# and change the merge text to "Merge branch 'unrelated' into main".
git merge unrelated --allow-unrelated-histories

# Push your new branch:
git push -u origin history-merge

完成后,您可以创建从 history-mergemain 的拉取请求。

如果您希望它 100% 无缝,请在合并 PR 时选择 rebase 选项。这将fast-forwardmain变为原来的merge-commit.