我真的不知道我刚刚做了什么,所以我只是想给出一个时间表。
我今天第一次尝试建立一个 gitHub 存储库。我有一个文件夹,用于保存我网站上的所有文件,它有一个 .git 文件夹。我时不时地进行更改等,一切似乎都很好。
今天我试图 merge 我正在处理的项目的两个分支。我尝试了“merge”和“rebase”命令,但我无法真正理解正在发生的事情或我在做什么,所以我决定从头开始使用 git。
我将 .git 文件夹从我的网站文件夹中 pull 出来(我没有删除它,我想这可能是我的救命稻草)。在文件夹中做了一个新的 git Init 并将网站文件提交给它。
那时我注意到丢失了大量文件。我认为它们仍在第一个 .git 文件夹中。有什么方法可以从此文件夹恢复目录?
最佳答案
令我惊讶的是,您已经使用 git 工作了两个月,并决定重新开始是从失败的 rebase 中恢复的最佳方式,它应该容易得多。
您应该能够在没有太多问题的情况下将旧的提交恢复到新的存储库中。
您可以添加一个新的 Remote ,它是您保存的旧存储库:
git remote add old /path/to/old/saved/.git
然后您可以获取所有旧历史记录。
git fetch old
然后你可以打开一个历史浏览器(例如gitk --all
)来查看旧的历史。
您可以使用以下命令检查丢失文件的版本:
git checkout old/master -- path/to/missing/file
old/master
指的是旧版本库中的 master 分支,不过您可以在此处使用任何分支的 ID 或提交。
关于git - 删除了 2 个月的 Git 工作。如何让他们回来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4679878/