git rebase重新整理未修改的提交

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

情况

这些是我分支中的提交哈希。 PUSHED提交是公共主机的一部分,而公共主机是我分支的基础。其他提交尚未公开。

PUSHED_A - PUSHED_B - mywork_A - mywork_B - correction_A

现在,我使用git rebase -i重新排序并将Squadtion_A压缩为mywork_A。我了解为什么mywork_A和mywork_B在重新设置基准后会有新的提交哈希。

但是现在,即使PUSHED_B也有了新的哈希。哈希现在看起来像这样

PUSHED_A - PUSHED_B2 - mywork_A2 - mywork_B2

恐怕这将使将分支正确合并到公共主分支变得很困难,因为PUSHED_B2无法识别为已经存在的PUSHED_B,并且会引起问题。

我更正了(新分支,摘樱桃……),但我不了解背景。

为什么会这样?

我查看了PUSHED_B和PUSHED_B2的提交内容。没有区别。

也许我在进行rebase时将PUSHED_B放入了提交列表,选择HEAD〜x太大。但是我没有修改此提交,也没有在此之前重新排序。因此,即使它是列表中提交的一部分,也不应该保留它吗?

我可以追溯发生了什么以及何时发生?

git rebase
2个回答
1
投票

重新设置基准时,它会更改'committer'和重新确定的提交日期,因此会有一个新的哈希。

最简单的方法是使用正确的提交范围再次基于上游进行基准调整。在这种情况下,git将检测到PUSHED_B和PUSHED_B2具有相同的内容,并将跳过后者。


0
投票

请注意,git rebasesome

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