0

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

checkout <branch hash> .

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

checkout master .

checkout HEAD .

reset HEAD --hard

我不确定它最初是否有效,因为某些行为表明旧版本的先前文件存在。

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

我想知道我是否做错了什么,或者是否有另一个命令可以用来删除临时签出修订版的这些不需要的文件?

4

1 回答 1

1

请参阅:GIT:签出替代分支时,我想清除忽略的文件

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

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

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

于 2013-07-23T23:13:49.263 回答