Git 删除了我的文件。他们可以恢复吗?
Git deleted my files. Can they be recovered?
我在 BitBucket 上创建了一个 git 存储库来跟踪我的脚本。我对 git 的经验非常有限。我使用 Linux 和 Windows 的组合,但我一直在使用 git bash shell 上的 Windows 将文件添加到存储库中,其中有一个驱动器映射到 Linux 共享。
过去几天我一直在添加文件,但在我的一个提交中我输入了错误的评论。我想解决这个问题并用谷歌搜索了解决方案。我发现的建议是使用 rebase。我试过了,但没有成功,所以我决定接受错误的评论。
在此之后,我又创建了两个脚本,然后我想用 'git add' 添加到存储库中。
当我尝试提交这些时,我收到消息 "You are currently editing a commit while rebasing branch 'master' on '3ac74cb'"。在此消息之后是一个文件列表,然后是另一行建议如何操作。不幸的是,所有这些现在都已移出终端缓冲区,因此我无法追溯消息是什么,但我基本上是按照消息进行操作的。
其中一条消息还建议我进行拉取 - 这是因为我对在 BitBucket 中编辑的文本文件进行了更改。所以我也拉了一下。
我基本上是先拉,然后再提交,然后再推。 None 这些似乎都奏效了,所以我做了更多的谷歌搜索以摆脱 rebase 消息。根据我发现的答案,我做了 'git rebase -abort'.
在此之后,我尝试添加的两个脚本消失了。
我可以从某个地方取回我的文件吗?还是它们只是被删除了?我怎样才能避免这种情况再次发生,因为我不能这样失去工作。使用 git 的全部意义在于不丢失工作。
如果您需要任何进一步的信息来尝试理解这一混乱局面,请直接询问。如果有任何帮助,我将不胜感激。
听起来您在工作目录中创建新文件时正在进行 rebase
操作。不幸的是,使用 git rebase --abort
会将 HEAD 重置回 rebase
操作开始时的位置。如果 git status
没有显示任何未跟踪的文件,那么恐怕您的文件可能已经丢失。
git rebase
如果使用正确,是一个非常有用的命令,但如果使用不当,也会造成很多麻烦。
为了将来参考,您可以使用 git commit -m <message> --amend
更改最近一次提交的提交消息。这应该可以防止您 运行 以后因同样的原因而惹上麻烦。
希望对您有所帮助。
我在 BitBucket 上创建了一个 git 存储库来跟踪我的脚本。我对 git 的经验非常有限。我使用 Linux 和 Windows 的组合,但我一直在使用 git bash shell 上的 Windows 将文件添加到存储库中,其中有一个驱动器映射到 Linux 共享。
过去几天我一直在添加文件,但在我的一个提交中我输入了错误的评论。我想解决这个问题并用谷歌搜索了解决方案。我发现的建议是使用 rebase。我试过了,但没有成功,所以我决定接受错误的评论。
在此之后,我又创建了两个脚本,然后我想用 'git add' 添加到存储库中。
当我尝试提交这些时,我收到消息 "You are currently editing a commit while rebasing branch 'master' on '3ac74cb'"。在此消息之后是一个文件列表,然后是另一行建议如何操作。不幸的是,所有这些现在都已移出终端缓冲区,因此我无法追溯消息是什么,但我基本上是按照消息进行操作的。
其中一条消息还建议我进行拉取 - 这是因为我对在 BitBucket 中编辑的文本文件进行了更改。所以我也拉了一下。
我基本上是先拉,然后再提交,然后再推。 None 这些似乎都奏效了,所以我做了更多的谷歌搜索以摆脱 rebase 消息。根据我发现的答案,我做了 'git rebase -abort'.
在此之后,我尝试添加的两个脚本消失了。
我可以从某个地方取回我的文件吗?还是它们只是被删除了?我怎样才能避免这种情况再次发生,因为我不能这样失去工作。使用 git 的全部意义在于不丢失工作。
如果您需要任何进一步的信息来尝试理解这一混乱局面,请直接询问。如果有任何帮助,我将不胜感激。
听起来您在工作目录中创建新文件时正在进行 rebase
操作。不幸的是,使用 git rebase --abort
会将 HEAD 重置回 rebase
操作开始时的位置。如果 git status
没有显示任何未跟踪的文件,那么恐怕您的文件可能已经丢失。
git rebase
如果使用正确,是一个非常有用的命令,但如果使用不当,也会造成很多麻烦。
为了将来参考,您可以使用 git commit -m <message> --amend
更改最近一次提交的提交消息。这应该可以防止您 运行 以后因同样的原因而惹上麻烦。
希望对您有所帮助。