Iva*_*dez 107 git commit github
我正在尝试删除我的一个GitHub存储库中的最后两个提交.我试过这里的建议:git push -f origin HEAD ^^:master.它似乎工作,最后两个提交被删除.
然后我用git rebase -i HEAD~2从我的本地存储库中删除它们.我删除与这些提交相关的行,并使用git log检查它们是否被正确删除.
之后,我在本地存储库中进行了一些更改,进行了新的提交并推送到GitHub.问题是在我的GitHub帐户中我有前两次提交我试图删除.
我认为它存在于我的本地存储库中,因为如果我将我的Github存储库克隆到本地,并在我推送新提交时在这里进行一些更改,那些旧提交不会被推送到GitHub.
任何的想法?
KL-*_*L-7 171
要在本地删除最后两个提交,我建议使用:
git reset --hard HEAD^^
Run Code Online (Sandbox Code Playgroud)
Rebase是一个完全不同的操作,在这里无济于事.
Dhe*_*rik 72
如果你想删除2(两个)最后提交,有一个简单的命令来做到这一点:
git reset --hard HEAD~2
Run Code Online (Sandbox Code Playgroud)
您可以更改2要删除的任意数量的上次提交.
要将此更改推送到远程,您需要git push使用force(-f)参数:
git push -f
Run Code Online (Sandbox Code Playgroud)
但是,如果在您想要删除的提交之后在远程(Github)上有新的提交,我建议不要使用任何git命令-f或--hard涉及选项.在这种情况下,请始终使用.git revert
小智 16
以下适用于我
git reset HEAD~n
Run Code Online (Sandbox Code Playgroud)
它n从本地仓库删除最后一次提交,因为HEAD^只删除一个.如果您需要从远程删除这些更改,您可能需要强制推送,因为您将在远程后面.
git push -f origin <branch>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68685 次 |
| 最近记录: |