我正在使用SourceTree,我想重置在我的工作副本中所做的所有 changes。
对于一些测试,我创建了三个Java类文件,一个是新的,一个是我更新的,最后一个是我从工作副本中删除的:
New.java
Update.java
Remove.java重置所有对于已更新和删除的类文件很好,但对于新的类文件则不起作用:


重置之后,我必须手动删除New.java类:

概述:
在重置所有之后,Update.java文件上的更新被删除,被删除的Remove.java文件被恢复。完美!我唯一不明白的就是为什么我必须手动删除新的New.java文件?会不会是我有老婆了?
提前感谢!
发布于 2017-01-13 13:17:20
如果New.java是一个从未进行过的新文件,git重置将不会删除该文件,因为git不知道如何处理它。实际上,New.java是一个未跟踪的文件,在将它添加到舞台上之前,git不会对这个文件做任何事情。
发布于 2017-01-13 13:16:19
我不知道SourceTree,但我猜‘重置所有’就像做git checkout .一样,它将恢复您所描述的所有跟踪文件。要删除未跟踪的文件,命令行等效为git clean -f,或者如果目录也受git clean -fd影响,还应包括.gitignore和类似的git clean -fdx忽略的文件。因此,我想您可以在Clean All中搜索SourceTree选项,以消除未跟踪的文件。
https://stackoverflow.com/questions/41635364
复制相似问题