检查了git中的旧版本,然后返回到最新版本,但旧版本中删除的文件仍在本地目录中?

时间:2013-07-23 23:09:03

标签: git delete-file git-checkout revision

在使用git时,我在我的主分支中检出了一个特定的修订版:

checkout <branch hash> .

我只是这样看一些以前的文件,我没有做任何改动。然后我尝试将当前状态重置为我的最新版本。不幸的是我尝试了几个命令,因为我不确定它是否最初起作用;命令包括:​​

checkout master .

checkout HEAD .

reset HEAD --hard

我不确定它是否起作用是因为某些行为表明旧修订版的先前文件存在。

然后我意识到我的修改后的新文件确实已恢复到当前版本,但是我在旧版本和当前版本之间删除的文件仍然在我的本地目录中。这应该发生吗?我想在返回当前版本后,通常没有人会希望旧的,已删除的文件存在,但似乎是这种情况。

我想知道我是否做错了会发生这种情况,或者是否有其他命令可以用来删除临时检出的修订版中的这些不需要的文件?

1 个答案:

答案 0 :(得分:1)

请参阅:GIT: When checking out an alternative branch, I want to clear ignored files

我相信你正在寻找git clean命令。如果你快速git clean -nd <path>,它将列出在实际运行命令时将删除的所有未跟踪/删除的文件。

如果您确定包含要删除的所有文件,请执行git clean -df <path>

参考:http://gitready.com/beginner/2009/01/16/cleaning-up-untracked-files.html