svn文件,svn修改

  svn文件,svn修改

  删除、移动和重命名

  Subversion允许重命名和移动文件和文件夹。所以在TortoiseSVN子菜单中有删除和重命名的菜单项。

  图4.33。版本控制文件的菜单浏览

  使用TortoiseSVN Delete从Subversion中删除文件或文件夹。

  当您修改删除文件或文件夹时,它会立即从您的工作副本中删除,并在下次提交时在存储库中标记为删除。该项目的父文件夹显示“已修改”图标覆盖。在提交更改之前,您可以使用TortoiseSVN Revert在父文件夹上恢复文件。

  如果您想从版本库中删除一个项目,但将其作为不受版本控制的文件/文件夹保留在本地,您可以使用扩展的右键单击菜单删除(保留本地副本)。为了查看扩展的右键菜单,当您右键单击文件管理器列表窗格(右窗格)中的项目时,必须同时按下Shift键。

  如果通过资源管理器而不是使用TortoiseSVN上下文菜单删除一个项目,提交对话框会将这些项目显示为缺失,并允许您在提交之前将它们从版本控制中删除。但是,如果您更新了您的工作副本,Subversion将会发现丢失的项目,并用存储库中的最新版本替换它。如果你需要删除一个受版本控制的文件,总是使用TortoiseSVN Delete,这样Subversion就不用猜测你真正想做什么了。

  检索删除的文件或目录。

  如果您删除了一个文件或目录,并且已经向版本库提交了删除操作,那么传统的TortoiseSVN recovery将无法再检索它。但是文件或目录并没有完全丢失。如果您知道要删除的文件或目录的版本(如果不知道,请使用日志对话框来查找),请打开数据仓库的浏览器并选择该版本。然后选择您删除的文件或目录,右键单击并选择上下文菜单复制到.作为执行复制操作的目标,然后选择工作副本的路径。

  如果您只想重命名文件或文件夹,请使用右键菜单重命名.只需为此条目输入一个新名称。

  如果要移动工作副本中的文件,例如移动到不同的子文件夹,则使用鼠标右键拖放:

  选择要移动的文件或目录。

  用鼠标右键将它们拖动到工作副本的新位置。

  释放鼠标右键。

  在弹出菜单中,选择右键菜单 SVN,将版本控制条目移动到当前位置。

  提交父目录

  由于重命名和移动的执行方式类似于先添加后删除,因此您必须提交重命名/移动的文件的父文件夹,因此重命名/移动的删除部分将出现在提交对话框中。如果您不提交重命名/移动的删除部分,它将保留在仓库中,并且当您的同事更新工作副本时,该文件不会被删除。例如,他们会有两个副本,一个旧的,一个新的。

  您必须在重命名文件夹后立即提交。提交前不要更改文件夹下的任何文件,否则您的工作副本将会非常混乱。

  另一种复制或移动文件的方法是通过Windows的复制/移动命令。首先,选择要复制的文件,在资源管理器中点击右键,选择右键菜单复制。然后,进入目标文件夹,右键选择TortoiseSVN 粘贴。对于移动文件,选择右键菜单剪切,而不是右键菜单复制。

  您还可以使用版本库浏览器来移动版本库中的项目。有关更多信息,请阅读“版本库浏览器”一节。

  不要使用SVN移动外部连接

  您不应该使用TortoiseSVN的move或rename命令来操作用svn:externals创建的目录。因为此操作可能会导致外部元素(项目)从其父版本库中删除,所以可能会惹恼其他人。如果需要移动外部目录,应该使用普通shell来移动,然后调整源和目的地的父目录的svn:externals属性。

  如果有两个同名但大小和拼写不同的文件(例如,TEST。TXT和test.txt)在您的版本库中,您不能在Windows客户端中更新或检出包含此文件的目录。虽然Subversion支持区分大小写的文件名,但Windows不支持。

  当两个人分别提交工作副本时,这种情况偶尔会发生。文件名相同,但大小写不同。当在具有区分大小写的文件系统的系统中提交文件时,也会发生这种情况,比如Linux。

  在这种情况下,您必须决定在此版本库中要保留哪些文件,要删除(或重命名)哪些文件。

  防止两个文件同名。

  在https://SVN . Apache . org/repos/ASF/subversion/trunk/contrib/hook-scripts/上有一个服务器钩子脚本可以防止导致案例冲突的签入。

  有时候你的IDE会因为反射操作而对文件进行重命名,但是当然不能告诉Subversion。如果您尝试提交更改,Subversion会发现旧文件已经丢失,并且添加了没有版本控制的新文件。您可以简单地添加新文件,但是您会丢失历史记录,因为Subversion不知道这些文件之间的关系。

  更好的方法是通知Subversion这实际上是一个名称更改。您可以在“提交并检查更改”对话框中完成此操作。选择简单的旧文件(丢失)和新文件(未版本化),使用右键菜单修复移动设置。这两个文件被重命名。

  您通常可以在Subversion中设置自己的忽略列表,例如,忽略所有生成的文件。但是你如何清理这些被忽视的项目来产生一个干净的构建呢?通常你在makefile中清理,但是如果你在调试makefile或者修改构建系统,拥有一个清理方法是极其有用的。

  TortoiseSVN提供了使用扩展上下文菜单删除未版本化项目的能力.清理工作副本。当您右键单击目录时,按住Shift,您将看到此上下文菜单。将出现一个对话框,列出工作副本中所有未版本化的文件。您可以选择或取消已删除的项目。

  删除这些项目时,使用了垃圾箱。因此,如果您犯了一个错误,删除了应该在版本控制下的文件,您仍然可以恢复它们。

svn文件,svn修改