我在GitLab上有以下提交记录:
3fad532 Last commit
3bnaj03 Fifth commit
vcn3ed5 Fourth commit xxx
aece15d Third commit xxx
385d65a Second commit
556cc58 First commit
我想要移除第三和第四个提交,为此我认为首先需要通过回滚到第二个提交:
git revert 385d65a
然后从第五个提交开始应用 cherry pick:
git cherry-pick 3bnaj03 3fad532
1. 通过删除第三和第四个提交记录的方式来获取最后一次提交是否正确?
2. 对于这种情况,是否有更好的方法?
git rebase -i 556cc68
命令,然后用drop
命令删除提交记录aece15d
和vcn3ed5
。这将从历史记录中简单地删除这两个提交。对于aece15d
和vcn3ed5
,你也可以选择使用git revert
(可以将其视为反向提交),并在标题为“Last commit”的提交之后添加新的还原提交。无论如何,你可以根据提交记录的分布情况选择更适合你的解决方案。但是,我无法理解你提出的解决方案。(在 Jon Skeet 发布他的答案之前,我在20秒前发布了这条评论 :P) - terrorrussia-keeps-killing