我做了一些我不想再做的垃圾提交
假设我做了一些小的更改并在每次更改后提交。但我只想从最后一次提交到 github。这是我的历史的样子:
Initial commit --> Second commit --> Third commit --> Fourth commit
只有我的第四次提交足以推送到 github,所以我怎么能删除提交 1 到 3 但保留 4?
我试图用谷歌搜索我的问题,但我只能找出如何删除最新的提交或类似的东西。
如果最新的提交依赖于它们,则您无法删除最旧的提交。如果不 :
git rebase -i HEAD~4
并通过删除相应的行来删除不需要的提交。
使用git revert <commit>
where<commit>
是 git log 中显示的提交的哈希值。基本上它将创建另一个提交,该提交将恢复在指定提交中所做的更改。以下是步骤:
git log
并注意提交的哈希值1-3
git revert <commit 1>
,git revert <commit 2>
和git revert <commit 3>
three commits
的内容,这将恢复对 commit 的更改1-3
。git rebase -i HEAD~7
这会将您的 7 个提交压缩为 1 个。commit 4
您要推送的提交消息pick
并将其他人更改为squash
.有关更多信息,请参阅此