我正在使用EGit 2.2.0.20-1212191850-r和GitHub。我的所有本地文件都已提交并推送。只有主分支。我想永久地将我的所有文件恢复到之前的提交(不是HEAD~1)。我该怎么做?
以下是我的尝试:
我也在步骤2中尝试了Checkout,结果相同。
Eclipse git checkout (aka, revert)不相关,因为它只是恢复到HEAD而不是早先的提交。
我真正想做的是从早期的提交中创建一个新的分支,但我会满足于恢复。
答案 0 :(得分:1)
如果您已经推送了提交,通常建议还原提交。原因是revert会在历史记录中添加新的提交而不是替换历史记录,这使得其他人可以直接拉取而不必更换已替换的历史记录。
因此,在“历史记录”视图中,选择要撤消的最新提交,打开上下文菜单并选择“还原”。重复父提交。完成后,按结果。
另请注意,“git checkout”和“git revert”是不同的东西,“git revert”会创建一个新的提交,撤消先前提交的更改。另一方面,“git checkout”将工作目录或当前分支更改为提交。您可能会感到困惑,因为“svn revert”会执行“git checkout”的操作,而不是“git revert”。