忽略Mercurial中文件的未来更改,但仍然跟踪它[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了忽略Mercurial中文件的未来更改,但仍然跟踪它[重复]相关的知识,希望对你有一定的参考价值。
我在Mercurial存储库中有一个文件,我想作为示例配置文件,但在我开发它时,我想对它进行特定的更改,我不想跟踪,比如数据库密码。我尝试将该文件添加到.hgignore
,但Mercurial仍然注意到修改。
我是否可以在Mercurial存储库中“跟踪”文件,但忽略该文件的未来本地更改而不将其从存储库本身中删除?
我不认为这种能力存在(虽然喜欢看别人的答案:)但是。我使用的替代方法是将文件检查到名为“config.template”的源代码控制中(作为示例)。该应用程序实际上使用名为“config”的文件,然后我通过复制模板文件创建该文件。然后确保.hgignore文件中不包含“config”文件,这样您就不会意外地检查。
不,Mercurial没有内置支持来自动处理这个问题,好吧......不是你要问的方式。
文件有两种状态:
- 履带
- 未跟踪
.hgignore
文件唯一能做的就是帮助查看所有未跟踪文件的所有命令,并将它们添加到存储库中(即添加它们以进行跟踪。)跟踪文件后,将始终跟踪该文件。
其余的留给手动处理,这意味着如果你跟踪一个文件,但不想提交更改,你将不得不取消选中,忽略或以其他方式确保commit命令不提交,你承诺的时间。
处理此问题的首选方法是提交模板。然后,如果可能,在构建过程中添加一个步骤,检查实际配置文件是否存在,如果不存在,则从模板中复制。您确保的实际配置文件不会被跟踪,并添加到.hgignore
文件中。
这样,您可以更改实际的配置文件,但除非您专门将其添加到存储库,否则不会自动跟踪它,并且在提交期间无需执行任何操作。
您可以在将来的提交中排除该文件。
如果您从命令行使用hg,这可能会很麻烦,因为您必须手动指定要提交的文件,但如果您使用tortoisehg之类的东西,您可以在提交表单中取消选中配置文件,它的更改不会进入变更集。
以上是关于忽略Mercurial中文件的未来更改,但仍然跟踪它[重复]的主要内容,如果未能解决你的问题,请参考以下文章