gpt4 book ai didi

Git undo pushed merge 并删除它的历史记录

转载 作者:行者123 更新时间:2023-12-05 08:54:50 27 4
gpt4 key购买 nike

我不小心 merge 到 master 并推送了它,现在 master 拥有来自 dev 的所有提交。我想在不更改 dev 的情况下还原 master 的提交并删除其历史记录。我该怎么做?

最佳答案

可以删除最后一次提交:git reset --hard HEAD^ .

有时可能会出现需要从分支的“中间”删除提交的情况。这里来救援交互式 rebase:git rebase -i <commit>^ .您只需要删除不需要的提交(它应该出现在列表的顶部)。

如果您撤消的更改在远程可用,它们也应该通过强制推送从那里删除:git push --force .

但是,重写已与某人共享的分支的历史并不是撤消更改的好方法。相反,请考虑使用 git revert <commit> .在这种情况下,这是更稳健和正确的方法。

我建议阅读 Git Branching - Rebasing . “Rebase 的危险”一章解释了为什么重写公共(public)历史不是一个好主意。

关于Git undo pushed merge 并删除它的历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48286792/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com