git reset –hard HEAD留下未跟踪的文件

当我运行git reset --hard HEAD ,它应该重置为你所拉取的原始版本,据我所知。 不幸的是,它留下了文件,作为一个git status显示未跟踪文件的大列表。

你怎么告诉git“把它回到原来的最后拉,什么都没有,没有什么less”?

你必须使用git clean -f -d来删除工作副本中未跟踪的文件和目录。

如果你有文件,你仍然想保持:

git clean -di会做一个交互式的清理,让您只能删除不再需要的文件/目录。

 git reset --hard && git clean -dfx 

或者,zsh提供了一个“gpristine”别名:

 alias gpristine='git reset --hard && git clean -dfx' 

这真的很方便

用户交互方式:

 git clean -i -fd Remove .classpath [y/N]? N Remove .gitignore [y/N]? N Remove .project [y/N]? N Remove .settings/ [y/N]? N Remove src/com/amazon/arsdumpgenerator/inspector/ [y/N]? y Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y 

-i用于交互式
-f强制
-d用于目录
-x用于忽略的文件(如果需要添加)

注意: 添加-n–dry-run只是检查它会做什么。

您可能在某个时候进行了软重置,您可以通过这样做来解决这个问题

 git add . git reset --hard HEAD~100 git pull