我在Eclipse上整理我的软件包和其他内容,因为有太多的冗余。由于一个新手错误,我不小心删除了驱动器中的.git文件夹。是否有任何方法可以从GitHub恢复我的历史记录?我的存储库仍然在GitHub上处于活动状态,但是.git文件夹不再监控我想要进行版本控制的文件。
我对版本控制还很新,请事先谅解如果我犯了任何技术术语方面的错误。
这就像Ajay的方法,但会在原地恢复.git文件夹,无需克隆和手动复制。
cd <repo-folder>
git init
git remote add origin <url>
git fetch
git reset origin/master
同样的警告也适用于此,如果您在其他分支中进行了更改但未将其推送到远程,则此方法将无效(据我所知,当删除.git文件夹时,这些更改都会丢失,但可能有人比我更了解此问题),但它不会重置本地副本上的本地更改(如果有任何更改),因此您可以随后按需添加和提交。
如果您确实有要/需要保留的本地更改,请务必不要执行git reset --hard
命令。
git push --set-upstream origin master
以设置稍后推送的新引用。完成此操作后,您可以继续使用 git push
推送更改。 - Mycodingproject这很容易。
从您当前所在的分支创建一个新的存储库,克隆自您的 GitHub 存储库。
git clone <repo_url> -b <branch_name>
现在要将您的更改还原,请将之前存储库的内容复制到此存储库中。您的存储库将具有相同的文件集。希望这可以帮助您。
附:如果您在其他分支上进行了更改但未推送到远程,则此方法无法使用。此外,此操作将删除所有未推送到远程的当前分支中的提交,但您将保留所有本地更改。
.git
文件夹吗?这对我来说似乎是最简单的解决方案。如果你不能恢复,那么你可能需要在本地机器上创建一个新的仓库并再次拉取分支。 - Tim Biegeleisencd path/where/you/want/the/repo
,将路径替换为您想要的路径,然后输入命令git clone https://github.com/libgit2/libgit2
,将 URL 替换为您在 GitHub 上的存储库的正确 URL。 - Tim Biegeleisen