如何在git中维护历史记录

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

我有以下情况:

  • 我有两个分支:X和Y;
  • 一段时间后决定合并它们;
  • 在将Y合并到X之后,我决定在X中再添加一个提交;
  • 现在,在X中,最后2个提交是:1)合并提交,2)我决定添加的第二个提交;

问题是,如何合并这两个最后提交?

我使用了git rebase -i HEAD~1,但看不到合并提交。哪种选择?我这样做是为了使历史清晰。

git git-merge
1个回答
0
投票

如果您想做的是取回合并并在合并Y之前应用X:

git checkout X~2 # go to revision before merge
git cherry-pick X # apply the revision at the tip of X
git merge Y -m "Merging Y"
# if you like the results
git branch -f X
git checkout X

PS参加@ 0andriy的担心,很高兴注意到此rewrites历史记录。如果您已经将X上的内容推送到其他人可能已经开始使用它的仓库中,则将其重写历史记录视为rude。另一方面,如果您没有将其推送到任何地方,请随时重写历史记录。

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