从.git文件夹还原整个项目

从.git文件夹还原整个项目,git,backup,restore,Git,Backup,Restore,我有一个网络项目,我已经工作了一段时间。我使用GIT和SourceTree来跟踪更改,但愚蠢的是没有适当的备份 我有大约50次提交,希望一笔勾销,从一个新的初始状态开始,所以我删除了.git文件夹,但是我在SourceTree中把事情搞砸了,结果删除了所有的项目文件(尽管出于某种原因,这些文件夹仍然存在) 我仍然有我删除的.git文件夹。我的问题是,我可以从这个文件夹中恢复最后一个已知的项目状态吗?我将如何执行此操作?如果您的文件夹中确实包含.git,那么据我所知,您所要做的就是恢复这个文件夹,

我有一个网络项目,我已经工作了一段时间。我使用GIT和SourceTree来跟踪更改,但愚蠢的是没有适当的备份

我有大约50次提交,希望一笔勾销,从一个新的初始状态开始,所以我删除了.git文件夹,但是我在SourceTree中把事情搞砸了,结果删除了所有的项目文件(尽管出于某种原因,这些文件夹仍然存在)


我仍然有我删除的.git文件夹。我的问题是,我可以从这个文件夹中恢复最后一个已知的项目状态吗?我将如何执行此操作?

如果您的文件夹中确实包含
.git
,那么据我所知,您所要做的就是恢复这个文件夹,git应该将其识别为存储库。如果你在SourceTree中也把事情搞砸了,那么你可以删除受影响的分支,甚至创建一个新的repo,并使用你的
.git
作为信息源。

假设你有这样一个文件夹(假设这里有windows,但没有区别):

如果“myrepo”是空的,那么只要有一个包含全部内容的.git文件夹,就可以了

cd c:\myrepo
git reset --hard HEAD
这将恢复您的所有文件


注意:建议执行的“将CD放入.git文件夹并键入git状态”是错误的,应以“致命-此操作必须在工作树中运行”作为答复。

我有.git文件夹本身。我从SourceTree中删除了整个存储库(在删除.git文件夹之后),所以我有独立的.git文件夹,但没有其他信息。我有.git文件夹本身。我从SourceTree中删除了整个存储库(在删除了.git文件夹之后),所以我有一个独立的.git文件夹,但没有其他信息。我已尝试将.git文件夹添加到原始项目文件夹(现在为空)中,并从SourceTree中的工作副本创建新项目,但是我在
.git
文件夹中收到一个错误“git status failed with code 128:fatal:bad object HEAD”CD并键入
git status
。你看到了什么?看看如何推出新的repo。我在.git文件夹中,git状态返回“致命-此操作必须在工作树中运行”我在从.git目录还原旧的repo时也遇到了“致命-此操作必须在工作树中运行”。事实证明,在执行任何
reset
s或
log
s之前,我只需要
git init
。首先写“我删除了.git文件夹”。然后你写下“我还有我删除的.git文件夹”。你能解释一下到底发生了什么事吗?你能解决你的问题吗?现在有很多矛盾。而且不可能理解当前状态。仅供参考,“.git”目录实际上是git回购。不是你用它跟踪的文件。这在我第一次使用“git init”之后就奏效了。否则我就犯了你上面提到的“致命…”错误。
cd c:\myrepo
git reset --hard HEAD