如何将 GitHub 压缩和合并提交转换为合并提交?

问题描述 投票:0回答:1

我有一个个人项目 GitHub 存储库,它使用 squash 和 merge 选项来进行拉取请求。

如何重写 Git 历史记录,以便拉取请求使用 merge commit 选项而不是 squash 和 merge

git github git-merge pull-request git-squash
1个回答
0
投票

以下是可能对您有帮助的一般方法:

创建备份: 在进行任何更改之前,必须创建存储库的备份,以避免任何意外的数据丢失。

识别拉取请求: 识别使用“压缩并合并”选项合并的拉取请求。您需要知道与这些拉取请求关联的提交哈希值。

找到 Squash 提交: 查找由“压缩和合并”操作产生的提交。这些提交包含将各个拉取请求压缩为单个提交的更改。

恢复 Squash 提交: 使用 git revert,恢复在“挤压和合并”过程中创建的挤压提交。这将有效地撤消压缩并恢复拉取请求中的各个提交。

重新合并拉取请求: 恢复挤压提交后,您可以使用“合并提交”选项重新合并拉取请求。这将创建合并提交,保留每个拉取请求的提交历史记录。

解决冲突: 在重新合并过程中,您可能会遇到需要手动解决的冲突。解决完成拉取请求重新合并时出现的任何冲突。

推送更改: 使用“合并提交”选项重新合并拉取请求后,将更改推送到您的 GitHub 存储库。

更新拉取请求: 更新任何关联的拉取请求或问题跟踪器以反映对提交历史记录所做的更改。

© www.soinside.com 2019 - 2024. All rights reserved.