重新结帐后,我想获取所有文件,特别是这个文件:etc/config.ini
但是,一旦我修改了 etc/config.ini,我不希望它使用“svn commit ...”提交,也不应该在“svn up”上恢复。
这将允许您在初始签出时获得默认值(约定优于配置),但是在配置之后,您不希望将这些“本地”配置文件提交到 svn。
重新结帐后,我想获取所有文件,特别是这个文件:etc/config.ini
但是,一旦我修改了 etc/config.ini,我不希望它使用“svn commit ...”提交,也不应该在“svn up”上恢复。
这将允许您在初始签出时获得默认值(约定优于配置),但是在配置之后,您不希望将这些“本地”配置文件提交到 svn。
最好的方法是不要直接对文件进行版本控制。
避免此问题的一种常见方法是将config.ini.sample
(或类似的东西)置于版本控制之下,然后在您的属性config.ini
中忽略。svn:ignore
然后,结帐后,复制config.ini.sample
到config.ini
,你就可以开始了。这样,您还可以对模板配置文件进行版本控制。
如果您使用 TortoiseSVN 和/或 VisualSVN (>= 1.5),您可以将这些文件移动到更改列表 'ignore-on-commit'。这会导致文件显示在提交对话框的单独部分中,并且永远不会自动选择提交。
显然这是一个 TortoiseSVN 特有的解决方案。
Jason 已经找到了普遍接受的解决方案(由 SVN 人员自己推广的解决方案),但是如果您使用 TortoiseSVN 作为客户端,还有另一种选择。当您在提交对话框中时,右键单击您不想提交的文件并选择 Add To Changelist->Ignore On Commit。每次您提交它时,它仍会显示在提交对话框中,但它默认为未选中,因此除非您明确选中该框,否则它实际上不会被提交。同样,仅对 Tortoise 有用,因此如果您将同一个 WC 与非 Tortoise 客户端一起使用,您会不小心提交它。