git提交,然后从主人那里重新开始,然后对原始提交进行小更改



好吧,这有点复杂,很可能很具体。让我尝试解释。

可以说,我将此git仓库拉到我的本地驱动器中。然后进行许多更改。由于这些更改是在许多不同的文件中,并且针对不同的目标,因此提交比一个更重要。可以说,这些更改中的提交是用哈希值ab001 to ab005(五个提交)。然后我创建了一系列补丁,然后发送给社区进行审查。

同时,假设我意识到主仓库已经稍微戒烟了一点,所以我需要重新恢复。我这样做,解决了所有冲突。现在,这将导致另一个提交,假设ab006

一切都很好。

但是第二天我会在上一个补丁(其中一个提交)上得到评论和建议。因此,我现在必须根据这些评论进行一些更改,然后发送旧补丁的v2(版本2)(即5个提交)。因此,我必须不合格这5个提交,进行更改并再次提交并创建另一个补丁(用这5个提交)。

我将如何做到这一点,因为HEAD中有一个折扣,我无法不合格。我真的很困惑。

您可以"撤消"主人的反弹,然后修改ab001ab005

git log
# commit ab005
# Fifth commit on the topic branch
# ...
#
# commit ab001
# First commit on the topic branch
#
# commit xy999
# Last commit on master before I started this new branch
git reset --hard xy999
git cherry-pick ab001
...
git cherry-pick ab005

现在,您的历史是干净的,您可以修改主题分支。如有必要,您可以将重新置于主人上,尽管如果可能的话,我建议您等到完成该分支的工作。

最新更新