如何在具有完全不同的提交历史的分支之间创建拉取请求
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-merge
到 main
的拉取请求。
如果您希望它 100% 无缝,请在合并 PR 时选择 rebase
选项。这将fast-forwardmain
变为原来的merge-commit.
我有两个提交历史完全不同的分支,我需要创建一个从其中一个到另一个的拉取请求 - 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-merge
到 main
的拉取请求。
如果您希望它 100% 无缝,请在合并 PR 时选择 rebase
选项。这将fast-forwardmain
变为原来的merge-commit.