同时学习 Git 和 GitKraken。我在一个文件 - aa.cpp
中做了一些小改动,在 GitKraken
的帮助下提交并推送到远程存储库。突然我发现我已经推送了所有我不喜欢的项目目录中的文件。
现在我需要从存储库中删除不需要的文件。我更喜欢从远程存储库中删除最后一次推送,然后尝试再次提交和推送。如何使用 GIT
命令删除最后一次提交。如何用 GitKraken
做同样的事情?
最佳答案
如果您已经推送了这个提交,那么有可能其他人已经 pull 了该分支。在这种情况下,重写你的分支的历史是不可取的,你应该恢复这个提交:
git revert <SHA-1>
git push origin branch
在这里<SHA-1>
是您要删除的提交的提交哈希。要查找此哈希值,只需键入 git log
在你的分支上检查第一个条目。
使用 git revert
实际上添加一个新提交,它是您要删除的提交的镜像。这是撤消公共(public)分支上的提交的首选方法,因为它只是向分支添加新信息。
如果您确定您是唯一使用此分支的人,那么您还有另一种选择:
git reset --hard HEAD~1
其次是
git push --force origin branch
但只有在没有其他人共享此分支时才应使用此选项。
关于git - 删除最后一次提交并推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40693443/