如何在git add之前恢复文件

时间:2017-03-10 16:52:57

标签: git version-control

我对文件进行了一些更改,但没有git add .

如何将更改恢复为上次提交?

我不想放弃我的项目

2 个答案:

答案 0 :(得分:1)

git reset --hard将放弃对工作目录和索引中所有跟踪的文件的更改,同时还原这两个文件以匹配当前检出的提交的状态。

git checkout PATH会将文件PATH从索引复制到工作目录,如果尚未将更改后的版本添加到索引,则是将本地更改还原到单个文件的合适方法与git add。如果您已完成git add,则可以使用git checkout HEAD -- PATH(仅将PATH替换为相关文件的路径)从当前签出的提交中复制该文件,而不是索引。

git clean -fd将从您的工作目录中删除(未忽略)未跟踪的文件。

您可以合并resetclean以完全删除所有本地更改,将工作目录的状态恢复到当前已检出的提交中的状态,包括删除所有未跟踪的文件,即使您添加到.gitignore的内容也是如此:git reset --hard && git clean -fdx

答案 1 :(得分:1)

使用git log --follow [file]查找所需文件的版本(显示您的提交)。找到所需的提交,并使用git reset --hard [commmit]在指定的提交后丢弃所有历史记录。