我不小心将错误的文件提交给Git,但我还没有将提交推送到服务器.
如何从本地存储库中撤消这些提交?
如何查看我所做的任何尚未推送到远程存储库的本地提交?偶尔git status会打印出我的分支是X提前提交origin/master,但并非总是如此.
这是我安装Git的错误,还是我错过了什么?
我"意外地"向GitHub推送了一个提交.
是否可以删除此提交?
我想恢复我提交之前的GitHub存储库.
我做了一个,git commit但我还没把它推到存储库.所以,当我这样做时git status,我得到'#你的分支在'提交'之前领先于'master'.
所以,如果我想回滚我的顶级提交,我可以这样做:
git reset --hard eb27bf26dd18c5a34e0e82b929e0d74cfcaab316
Run Code Online (Sandbox Code Playgroud)
鉴于我什么时候git log得到:
commit eb27bf26dd18c5a34e0e82b929e0d74cfcaab316 Date: Tue Sep 29 11:21:41 2009 -0700 commit db0c078d5286b837532ff5e276dcf91885df2296 Date: Tue Sep 22 10:31:37 2009 -0700
最后一次提交,HEAD和我在目录中可以看到的文件状态之间似乎有区别.
什么是HEAD,我该怎么办?我应该避免哪些错误?
我已经阅读了关于这个主题的类似帖子,并且不能为我的生活弄清楚如何正确地做到这一点.
我检查了大约1000个我不想要的文件,我宁愿不必通过1by1并将它们全部从回购中删除.
master分支.master分公司.他们都在同一修订版.
我想通过1次提交回滚我的遥控器.
说我的历史master就是A--B--C--D--E.
我想回滚我的本地D.
然后将其推送到远程,这样我的当前哈希将是D远程和本地.
我这样做有问题.
我正在使用Git Tower,但我对命令行很满意.有帮助吗?
更新: 下面的好评.似乎部分不鼓励使用重置,特别是如果存储库与其他用户共享. 在不使用硬重置的情况下,撤消先前提交更改的最佳方法是什么?有办法吗?
我在这里看到了一个问题的答案,有助于在git中恢复已删除的文件.
解决方案是
git checkout <deleting_commit>^ -- <deleted_file_path>
Run Code Online (Sandbox Code Playgroud)
插入符(^)的作用是什么?我在其他地方看到它在git中做了非常有用的事情.这很神奇.请有人为我破坏它并告诉我它的作用?
我犯了一个错误,我不知道如何删除我在存储库中的最新推送.我提取应用程序的最新更新,但它有冲突,我把它推送到存储库.
如何删除我的上次提交?或者如何解决?
我只是做了一些不好的提交,我想删除.

如何从egit中删除提交?
谢谢!
编辑:我尝试了几次硬重置但它没有做任何事情.

编辑2:硬重置确实回滚更改,但我希望它们完全从历史中消失,就像我从未做过这些提交一样.
git ×9
git-commit ×2
bitbucket ×1
eclipse ×1
egit ×1
git-diff ×1
git-log ×1
github ×1
head ×1
pre-commit ×1
repository ×1
undo ×1