gpt4 book ai didi

git - 如何从远程分支永久删除少量提交

转载 作者:IT王子 更新时间:2023-10-29 01:11:22 24 4
gpt4 key购买 nike

我知道那是对历史的改写,这很糟糕。

但是如何从远程分支中永久删除少量提交呢?

最佳答案

git reset --hard您的本地分支从工作树和索引中删除更改,而您 git push --force (或 git push --force-with-lease )您修改后的本地分支到远程。
( other solution here ,涉及删除远程分支,并重新推送它)

SO answer说明了这种命令的危险性,尤其是当人们依赖远程历史来获取他们自己的本地存储库时。
您需要准备好向 RECOVERING FROM UPSTREAM REBASE 指出人们节 git rebase 手册页。

此外,如 ringo 所述在 the comments ,如果远程分支受到强制推送保护,则 git revert , 如 this answer , 可能更可取。


使用 Git 2.23(2019 年 8 月,九年后),您将使用新命令 git switch .
即: git switch -C mybranch origin/mybranch~n
(将 n 替换为要删除的提交数)

这将恢复索引和工作树,如 git reset --hard会的。
documentation adds :

-C <new-branch>
--force-create <new-branch>

Similar to --create except that if <new-branch> already exists, it will be reset to <start-point>.
This is a convenient shortcut for:

$ git branch -f <new-branch>
$ git switch <new-branch>

关于git - 如何从远程分支永久删除少量提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3293531/

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