我刚刚在我的主目录中运行git clean -df
,我的所有文件都被删除了。有谁能解释这个问题?我想我几年前意外地提交了我的主目录,这导致它回滚到更高版本?但是,如果没有地方可以推动它,我将如何承诺。
更新:我发现我在主目录中创建了该项目。
答案 0 :(得分:3)
...导致它回滚到更高版本?
那不是git clean
所做的。它只删除Git当前未跟踪的任何文件。它不会更改包含修改的跟踪文件。
但如果没有地方可以推动它,我将如何承诺。
这与Git的工作原理无关。您无需在任何地方推送任何内容,以便初始化回购并开始向其提交内容。
如果在包含文件的目录中初始化存储库,那很好。现在,您的存储库有0个跟踪文件,并且已存在的每个文件都是未跟踪的文件。
然后你告诉Git 删除所有未跟踪的文件,并确认你确实希望Git使用-f
标志执行此破坏性操作。更糟糕的是,你使用-d
告诉Git以递归方式下降到目录中并删除它在那里找到的任何未跟踪文件。
答案 1 :(得分:2)
请参阅documentation for git clean
-d 除了未跟踪的文件之外,删除未跟踪的目录。如果未跟踪的目录由不同的Git存储库管理,则默认情况下不会删除它。如果你真的想删除这样的目录,请使用-f选项两次。
-f - 力 如果Git配置变量clean.requireForce未设置为false,则除非给定-f,-n或-i,否则git clean将拒绝运行。
基本上你告诉git删除当前目录中它不知道的所有文件