使用 SmartGit 中的拉取删除的文件 - 我可以找回它们吗 (Windows 10)

Erased files with pull in SmartGit - Can I get them back (Windows 10)

我认为我犯了我编码生涯中最大的错误。 前面的新手行为..

在我的新电脑上工作了 3 周后,我决定是时候将我的代码与我在 Bitbucket 上已有的代码合并了(我知道我应该直接合并)。我已经通过硬盘驱动器将代码(以及其他所有内容)从旧计算机移动到新计算机。在我移动它们之后,我从我的旧计算机上进行了最后一次提交(因此所有文件都没有同步)。经过这 3 周的编码后,我在新计算机上通过 SmartGit 进入了我的存储库。

推送时我在 SmartGit 中收到以下错误:“并非所有引用都已推送”,因为一些旧文件已被更改。

因此我决定从存储库中提取(使用 "Fetch")。这使得 SmartGit 将我在本地的所有文件覆盖为旧文件,并删除了我在文件夹中创建的所有新文件:/我是个白痴。

不,它在我的 SmartGit 项目名称旁边写着“<变基 >”。

有什么方法可以找回文件吗??

据我了解git 无法推送您的本地提交。因此,如果提交是在本地进行的,您可以这样做:

git reset --hard <tag/branch/commit id>

如果从未提交过,那么恐怕你运气不好:(

如果您提交了 内容,请不要担心,没有简单的方法可以丢失这些更改。当然,不仅仅是 pull-rebase。

只有当您没有提交更改并且您将这些更改作为工作目录中的修改时,您才会丢失您的更改。或者,如果您 staged 它们,则很容易重置临时区域。无论如何,GIT(尤其是 SmartGit)不会默默地删除这些更改。如果 rebase 没有冲突,您只会在新提交之上看到您的更改。如果有冲突,您将直接在您的工作目录中看到它们。

现在,回到你的情况,正如@mstrap 在评论中注意到的那样,去检查你的存储和可回收提交。您的代码在某处。如果不是,您可能在描述您的情况时遗漏了一些内容。