例如,我做一个git log
:表明我有5次提交:
commit 1
commit 2
commit 3
commit 4
commit 5.
现在,我想保留提交1,但是删除提交2、3、4。因此,完成后,我的git log
应该如下所示:
commit 1,
commit 5.
我该怎么办?谢谢。
答案 0 :(得分:1)
一种进行操作的方法是交互式地变基(doc)。
另一种方法是重置为1并选择5:
git reset --hard <hashOfCommit_1>
git cherry-pick <hashOfCommit_5>
(例如,您可以使用git log --oneline -5
找到哈希值)
但是,请注意,它会重写分支的历史记录。如果1之后的提交已被推送到远程存储库,则必须
git push --force origin HEAD
更新旧参考。