如何将以前的repo版本克隆到本地机器?

时间:2015-05-10 21:12:04

标签: git github command-line git-commit

我不小心从在线GitHub repo中删除了所有内部文件 - 目录现在是空的但仍然存在 - 加上repo已经从本地机器中删除了

通常情况下,GitHub克隆将用于在机器上获得回购,git revert等用于在线版本,但这显然不会起作用

在这种情况下,如何恢复到项目的先前版本(当前一次提交)?

请帮忙!

1 个答案:

答案 0 :(得分:3)

不要恐慌!有many ways to undo commits and pushes in Git

首先,克隆存储库。它将下载项目的完整历史记录。

然后,您可以使用git revert HEAD还原提交。这将添加一个新的提交来撤消最后一个提交。然后只需正常推送该提交。这是最简单的事情,但它在历史上留下了一个糟糕的提交。

您的另一个选择是撤消提交。这可以通过将主分支移回一个提交来完成。任意移动分支是git reset完成的。 git reset --hard HEAD^HEAD^是当前提交之前的提交。 --hard表示像结账一样,让您的工作目录与HEAD^匹配。我git reset --hard HEAD^别名为undo。然后推送提交,但您必须使用git push --force,因为您没有在现有提交之上添加。

这是顺便说一句,这就是为什么每次提交后推都是一个坏习惯。撤消尚未推送的更改要容易得多。