1
7
你用的是什么客户? Tortoissesvn有一个漂亮的特性,可以利用 changelist SVN内置的功能。如果右键单击修改过的文件夹并选择“检查修改”,则可以右键单击该对话框中的任何修改过的文件,然后选择“添加到变更列表->提交时忽略”。此后,每当执行提交时,乌龟都会确保不将这些文件添加到提交中。请参阅上的“从提交列表中排除项目” this page . 如果您不使用乌龟,可以手动设置类似的更改列表。 |
2
3
你可以使用git-svn。你得到一个本地回购,在那里你可以有本地的历史,和几个机会,考虑你的罪恶,然后强加给svn回购。 |
3
2
我通常会安排一些事情,以便标准文件svn签出可以被一个单独的文件覆盖,该文件是svn:ignore ed 例如,我有一个bash脚本,它使用一个配置文件启动一个JettyWeb服务器。通常是jetty.xml,但如果文件系统上存在jetty-local.xml,则使用它。 (当然,存在的明显问题是,当jetty.xml得到一些更新时,它们不会合并到jetty-local.xml中,但这可能比您已经面临的问题要小。) 在我以前处理的一个PHP项目中,使用两个单独的代码树-/system(其中所有系统类都已签出)和/local(其中镜像了它),这一点更进一步,但除非添加了本地类,否则它是空的,在这种情况下,它是优先加载的。这很可能会变得过于花哨而不利于自身利益。 如果问题出在您所拥有的配置文件上,我使用的另一种解决方案是按层次结构排列读取它们(即在global.cfg.default中读取,然后用global.cfg.local中的任何设置覆盖)。 |
4
1
当我遇到这种情况时,我会将不想签入的文件添加到标记为“不签入”的更改集中。我的客户网客户机 SmartSVN 尽管乌龟也会这样做),但可以设置为忽略该更改集,这意味着我不会意外地签入这些更改。 唯一的缺点是,当您对更改集中的文件进行了更改,而实际上您确实想要签入这些文件时,您必须手动记住签入它们。 |
5
0
我想不出任何简单的方法来做到这一点。是否无法(在文件/脚本中)动态检查您所在的环境,并相应地进行设置?我以前在PHP中用一个简单的目录检查(如果工作目录等于c:\projects…然后将路径设置为…) 另一个选项可能是预提交挂钩,它排除或恢复更改的文件,但在前一种情况下,您将不是最新的,在后一种情况下,您必须再次进行更改…六羟甲基三聚氰胺六甲醚。 |
6
0
我很幸运用
这将导致对配置文件的编辑在分支中被保存,而不是保存到主干中。您可以对配置文件进行版本化的编辑,并且不容易弄乱主干文件。 |
7
0
解决方案取决于您所谈论的更改的数量。我使用.NET网站,因此对于大多数网站,每个环境都有不同的配置文件。例如:
这些都将受到源代码管理。然后将其中一个文件复制到运行该文件的服务器上的web.config(使该文件脱离源代码管理)。为我工作。 |
8
0
在提交之前,我总是检查所有文件的差异,这样我就可以确保不会留下一些调试代码,它给了我第二次检查更改的机会。 如果您在安装了tksvn w/tkdiff的UNIX/Linux机器上运行,则可以通过以下命令逐个查看每个diff的良好图形表示:
另一种自我检查的聪明方法是签出一个新的存储库副本,然后尝试构建并运行它——如果忘记添加文件或破坏了一些明显的东西,就可以用这种方法进行捕获。 |