在理想情况下,你一次只处理一件事情,你的工作副本只包含一组逻辑变更。好了,回到现实。你经常需要同时处理几个不相关的任务,当你查看提交对话框时,所有变更都混在一起。变更列表功能可以帮助你将文件分组,使你更容易查看正在进行的操作。当然,这只有在变更不重叠的情况下才能起作用。如果两个不同的任务影响了同一个文件,就无法将变更分开。
你可以在多个地方看到变更列表,但最重要的两个地方是提交对话框和检查修改对话框。假设你已经完成了几个功能和许多文件的开发,现在让我们从检查修改对话框开始。当你第一次打开对话框时,所有已更改的文件都会列在一起。假设你现在想整理一下,根据功能将这些文件分组。
选择一个或多个文件,然后使用
→ 将项目添加到变更列表。最初将没有变更列表,因此你第一次执行此操作时将创建一个新的变更列表。为它命名,描述你使用它的目的,然后单击 。对话框现在将更改为显示项目组。创建变更列表后,你可以将项目拖放到其中,无论是从另一个变更列表还是从 Windows 资源管理器。从资源管理器拖放很有用,因为它允许你在修改文件之前将项目添加到变更列表。你可以在检查修改对话框中执行此操作,但只能通过显示所有未修改的文件。
在提交对话框中,你可以看到这些相同的文件,按变更列表分组。除了立即直观地显示分组外,你还可以使用组标题来选择要提交的文件。
TortoiseSVN 为自身保留了一个变更列表名称,即 ignore-on-commit
。它用于标记你几乎从不希望提交的版本控制文件,即使它们有本地变更。此功能在 名为“从提交列表中排除项目”的部分 中进行了描述。
当你提交属于变更列表的文件时,通常你希望不再需要变更列表成员资格。因此,默认情况下,文件在提交时会自动从变更列表中删除。如果你希望将文件保留在其变更列表中,请使用提交对话框底部的 保留变更列表 复选框。
变更列表纯粹是本地客户端功能。创建和删除变更列表不会影响仓库,也不会影响任何其他人的工作副本。它们只是方便您组织文件的一种方式。
请注意,如果您使用变更列表,外部文件将不再显示在它们自己的组中。一旦存在变更列表,文件和文件夹将按变更列表分组,不再按外部文件分组。