如何删除 GitHub 上推送的提交?

问题描述 投票:0回答:4

你可能从标题中猜到,我不小心推送了一个提交。我想知道是否还有办法删除或删除它?

虽然这个问题已经被问过(比如here),但我认为向网站添加更新的版本会很有用,因为我不确定那里提供的答案今天是否仍然适用。

提前致谢!

git github
4个回答
7
投票

是的,假设您要删除的提交是最近的提交。您可以获取要删除的提交之前的提交的提交 ID。您可以使用

git log
来完成此操作。它可能看起来像这样。

commit d338e7a5626a763f74c2e69777ce930532fe008d
Author: Stan Liu 
Date:   Wed Aug 2 18:35:00 2017 -0700

    Commit 2

commit 47d81989c633c3afb3fc6aa1f319c0c0d4d3871b
Author: Stan Liu
Date:   Wed Aug 2 18:31:39 2017 -0700

    Commit 1

如果您想完全删除本地计算机上的更改,请执行

git reset --hard <COMMIT_ID>
。就我而言,我将用
d338e7a5626a763f74c2e69777ce930532fe008d
删除
git reset --hard 47d81989c633c3afb3fc6aa1f319c0c0d4d3871b
。当你想完全删除最后一次提交时,你需要提及最后一次的提交 ID。然后,如果您有遥控器,则将新分支推送到远程存储库。

如果您只想删除该提交但保留该提交的更改,那么

git reset <COMMIT_ID>
就可以了。


4
投票

是的,您可以在本地回滚您的工作,然后“强制”推送提交

git push --force

明智且小心地使用它!


1
投票
$ git commit -m "accidently committed"           
$ git reset HEAD~                               
<< edit files as necessary >>                       
$ git add ...                                          
$ git commit -c ORIG_HEAD                                

0
投票
Many answer's here I would add something
if you want to delete recent commit from github 
follow this step,

copy 2nd most recent commit hash/Id just bellow of most recent commit that u want to delete.
now open terminal 
run -> git reset --hard <commit_hash>
    -> git push origin <branch_name> --force
© www.soinside.com 2019 - 2024. All rights reserved.