如何将以前的回购版本克隆到本地机器?
How to clone previous repo version to local machine?
我不小心从在线 GitHub 存储库中删除了所有内部文件 - 目录现在是空的但仍然存在 - 而且存储库也已从本地计算机中删除
通常,GitHub 克隆将用于将 repo 恢复到机器上,git 恢复在线版本等,但由于显而易见的原因,这将不起作用
在这种情况下如何恢复到项目的先前版本(当前版本的一次提交)?
请帮忙!
不要惊慌!有many ways to undo commits and pushes in Git.
首先,克隆存储库。它将下载项目的完整历史记录。
然后您可以使用 git revert HEAD
恢复提交。这将添加一个新的提交来撤消最后一个。然后像往常一样简单地推送该提交。这是最简单的事情,但它在历史上留下了错误的提交。
您的另一个选择是撤消提交。这可以通过将 master 分支移回一次提交来完成。使用 git reset
可以任意移动分支。 git reset --hard HEAD^
。 HEAD^
是当前提交之前的提交。 --hard
表示像结帐一样操作并使您的工作目录匹配 HEAD^
。我有 git reset --hard HEAD^
的别名 undo
。然后推送提交,但是你必须使用 git push --force
因为你没有在现有提交之上添加。
顺便说一句,这就是为什么在每次提交后推送是一个坏习惯。撤消未推送的更改要容易得多。
我不小心从在线 GitHub 存储库中删除了所有内部文件 - 目录现在是空的但仍然存在 - 而且存储库也已从本地计算机中删除
通常,GitHub 克隆将用于将 repo 恢复到机器上,git 恢复在线版本等,但由于显而易见的原因,这将不起作用
在这种情况下如何恢复到项目的先前版本(当前版本的一次提交)?
请帮忙!
不要惊慌!有many ways to undo commits and pushes in Git.
首先,克隆存储库。它将下载项目的完整历史记录。
然后您可以使用 git revert HEAD
恢复提交。这将添加一个新的提交来撤消最后一个。然后像往常一样简单地推送该提交。这是最简单的事情,但它在历史上留下了错误的提交。
您的另一个选择是撤消提交。这可以通过将 master 分支移回一次提交来完成。使用 git reset
可以任意移动分支。 git reset --hard HEAD^
。 HEAD^
是当前提交之前的提交。 --hard
表示像结帐一样操作并使您的工作目录匹配 HEAD^
。我有 git reset --hard HEAD^
的别名 undo
。然后推送提交,但是你必须使用 git push --force
因为你没有在现有提交之上添加。
顺便说一句,这就是为什么在每次提交后推送是一个坏习惯。撤消未推送的更改要容易得多。