Git删除了我的文件。他们可以恢复吗?

时间:2016-07-28 11:06:20

标签: git bitbucket

我在BitBucket上创建了一个git存储库来跟踪我的脚本。我对git的经验非常有限。我使用Linux和Windows的组合,但我一直在Windows上使用git bash shell将文件添加到存储库,其中有一个映射到Linux共享的驱动器。

过去几天我一直在添加文件,但在我的一次提交中,我输错了评论。我想解决这个问题并用Google搜索解决方案。我发现的建议是使用rebase。我尝试了这个,但它没有成功,所以我决定忍受错误的评论。

在此之后,我创建了另外两个脚本,然后我想用“git add'”添加到存储库。

当我尝试提交这些内容时,我收到了消息"您正在编辑提交,同时重新定位分支' master' on' 3ac74cb'"。在此消息之后是文件列表,然后是另一行,其中包含有关建议的操作。不幸的是,所有这些现在已经移出了终端缓冲区,因此我无法追踪消息的内容,但我基本上都遵循了这些消息。

其中一条消息也表明我做了拉 - 这是因为我对我在BitBucket中编辑的文本文件进行了更改。所以我也做了一个拉动。

我基本上完成了拉动,然后再次提交然后推送。这些似乎都没有起作用所以我做了一些谷歌搜索去除rebase消息。根据答案,我发现我做了一个' git rebase -abort'。

在此之后,我试图添加的两个脚本消失了。

我可以从某个地方取回我的文件,还是只删除它们?我怎么能避免这种情况再次发生,因为我无法承受失去这样的工作。使用git的重点是不要失去工作。

如果您需要任何进一步的信息来尝试理解这个混乱,请问问。我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:2)

在工作目录中创建新文件时,听起来好像处于rebase操作的中间。不幸的是,使用git rebase --abort会将HEAD重置回rebase操作开始时的位置。如果git status没有显示任何未跟踪的文件,那么我担心您的文件可能已丢失。

如果使用正确,

git rebase是一个非常有用的命令,但在误用时也会造成很多麻烦。

为了将来参考,您可以使用git commit -m <message> --amend更改最近提交的提交消息。这可以防止你在将来出于同样的原因遇到麻烦。

我希望这会有所帮助。