default.config
我的存储库的根目录中有一个文件。我为自己的设置调整了它,我不想提交它。曾经。除了 ,我还有什么选择commit -X "^default\.config$"
?
我添加^default\.config$
到.hgignore
,但它仍然显示在 的输出中hg status -mard
。
编辑:也许可以使用 Mercurial Queues 来做到这一点。如果我将所有本地配置更改保存在一个补丁中,那么我只需要记住在提交之前将其弹出即可。只是大声思考...
按着这些次序:
hg rm default.config
并提交更改作为一种好的做法,您可以添加一个名为default.config.template
或提交到存储库的文件。该文件包含某种默认值或有关如何使用它的注释,如果其他用户/开发人员default.config
正在使用您的项目,则可以将此文件复制到。
Akluth 有正确的答案:将模板文件提交到您的存储库,然后将其复制到每个工作副本中的真实名称。如果配置文件支持它,则使用包含指令从真实配置文件中加载模板文件。就像是
// default.config
//
// load defaults from versioned template file
#include "default.config.template"
// override defaults with my settings
db_hostname = localhost
db_user = me
正如您所建议的,另一种方法是-X
与每个命令一起使用。有一个排除扩展实现了这个想法。请记住阅读注意事项 - 合并时它不起作用,因为在提交合并时您无法排除文件。需要扩展扩展来处理这种情况,可能是在合并之前搁置更改并在之后取消搁置。
这暗示了另一个策略,类似于您建议的使用 MQ:在一组和钩子中使用新的搁置扩展在每次操作之前/之后搁置/取消搁置文件。我认为这可行,尽管我在现实生活中没有尝试过。pre-
post-