问题 如何撤消mix phoenix.gen.html?


mix phoenix.gen.html 生成一堆文件。如何撤消这一代?还是我必须手工完成?


9924
2018-01-18 18:37


起源

代码说没有 - github.com/phoenixframework/phoenix/blob/master/lib/mix/tasks/... - Ash
只是一个想法。如果您使用版本控制,您应该看到代码生成所做的所有更改。我没有 - 你应该开始使用它。 - tkowal
谢谢。希望有一种更自动的方式。喜欢 ember destroy - Emad


答案:


我相信没有选择'撤消' 源代码 或者 mix help 命令。这个混合命令 phoenix.gen.html 但是确实显示了如下生成的文件:

$ mix phoenix.gen.html Tweet tweets tweet:string

* creating web/controllers/tweet_controller.ex
* creating web/templates/tweet/edit.html.eex
* creating web/templates/tweet/form.html.eex
* creating web/templates/tweet/index.html.eex
* creating web/templates/tweet/new.html.eex
* creating web/templates/tweet/show.html.eex
* creating web/views/tweet_view.ex
* creating test/controllers/tweet_controller_test.exs
* creating priv/repo/migrations/20160118194027_create_tweet.exs
* creating web/models/tweet.ex
* creating test/models/tweet_test.exs

从中您知道要删除的文件。


12
2018-01-18 19:42



祝你好运,如果你使用了你的项目 git,然后使用git命令更容易恢复 git clean -df。此命令将删除所有未跟踪的文件和目录。生成的文件属于未跟踪文件。因此,您可以使用该命令删除。它只适用于 git 启动项目,否则您必须手动删除文件,如上所述。 - Ankanna
假设这是理想的:-)特别是因为在运行生成器之前提交是个好主意。好建议。 - ham-sandwich


我不认为代码生成工具能够撤消它所做的任何更改是特别好的主意;这太复杂且容易出错,并且为此目的制作了版本控制系统(跟踪和管理变更)。

因此,首先,我强烈建议使用版本控制系统,例如 git。在使用之前生成代码 mix phx.gen.html 或者任何其他方式,确保您已将所有更改提交到版本控制系统。然后通过从存储库中恢复工作树状态很容易回滚所有更改(并且可能会重试多次,直到您生成了正确的内容)。即使生成了新文件,使用版本控制系统也可以查看哪些文件已添加到工作树中,因此您无需复制 mix phx.gen.html 以供日后参考。版本控制系统还允许比较修改的文件以理解所做的更改。


1
2017-09-30 17:13