在Git中是否有可能恢复已提交的文件?我已经将一个提交到GitHub,然后我意识到有一个文件我不想被推送(我还没有完成更改)。


当前回答

使用 Git rm——缓存/路径/到/文件 然后添加、提交和推送。就像上面的答案,但你需要使用缓存而不是缓存。

其他回答

将文件重置为正确的状态,提交并再次推送。

如果你确定还没有人获取你的更改,你可以在提交时使用——amend来修改你之前的提交(即重写历史),然后push。不过,我认为在push时必须使用-f选项来强制push。

我遵循这些步骤[它经常发生在我,特别是在节点模块文件夹]

1-去日志

2- git 还原 04409a858709c82fbf9eae7559d6ae9c34b6fbe6

换一个你承诺的号码

<它将是像04409a858709c82fbf9eae7559d6ae9c34b6fbe6>这样的长数字

3-git推

这对我来说很有效,但请记住,这里有一个技巧,你的第一个提交将是列表中的最后一个,所以请检查日期和提交消息。

从我的终端查看这张图片

使用 Git rm——缓存/路径/到/文件 然后添加、提交和推送。就像上面的答案,但你需要使用缓存而不是缓存。

您可以使用以下工作流:

git reset --soft HEAD~1
git reset HEAD /path/to/file

只能将一个文件恢复到指定的修订版本。

首先,您可以检查哪些提交文件被更改。

git log path/to/file.txt

然后您可以用修订号签出该文件。

git checkout 3cdc61015724f9965575ba954c8cd4232c8b42e4 /path/to/file.txt

之后,您可以提交并再次推送它。