TortoiseSVN入门篇 - 将已有项目代码加入svn版本控制

本文主要是介绍TortoiseSVN入门篇 - 将已有项目代码加入svn版本控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

将已有项目代码加入svn版本控制 - TortoiseSVN入门篇
Windows下SVN实用教程(以TortoiseSVN作为客户端(client))

翻译: Bravo Yeung

 

 

 

如果使用的是git,则推荐使用 TortoiseGit, Download - https://tortoisegit.org/download/ .

 

 

Next: 版本库的备份与存储

目录

  • 导引
  • 安装Subversion
  • 安装TortoiseSVN
  • 一步步地操作
    • 步骤0. 设置全局忽略文件类型(此步骤为可选)
    • 步骤1. 创建版本库Repository数据库
    • 步骤2. 导入初始化 - 将你的项目导入(import)到数据库
    • 步骤3. 创建工作目录 -  将你的项目与数据库连接起来
  • 注意事项
  • 参考资料

导引

到目前有很多关于Subversion (SVN) 和 TortoiseSVN的优秀书籍和教程。其中有部分在本文的参考资料区有列出。这篇教程无疑是站在巨人的肩膀上。它只覆盖了subversion (SVN)有限的一部分功能。 然而我希望此文能简化你对SVN的认识。

Subversion 是一种跨平台的开源版本控制系统 (http://subversion.tigris.org/).  它由版本数据库 (FSFS 或 BDB) 和一些命令行工具组成。目前有各种各样的SVN前端工具。

Subversion是为多人参与的项目专门设计的。 但它也可用于管理个人项目。

此文仅限于基于Windows的本地SVN环境(未单独配置远程的服务器)。

 

安装Subversion

打开Tigris.org网站的下载区,选择 源代码软件工程工具Subversion (http://subversion.tigris.org/)。 Windows下最新的命令行版Subversion的安装文件和库都能在http://www.open.collab.net/downloads/subversion/下载到。下载安装包。SVN的默认安装目录为C:\Program Files\Subversion,当然你也可以修改磁盘路径。

现在你就可以开始使用SVN了。 如果你不习惯使用命令行工具,那你有必要安装一个你觉得合适的GUI前端。

安装TortoiseSVN

TortoiseSVN是一种Subversion客户端, Windows下它是一个命令行扩展, Windows资源管理器的一个插件(http://tortoisesvn.tigris.org/)。

最新版本可以在这下载到 http://tortoisesvn.sourceforge.net/downloads. 截止到2015.12.18的最新版本为:TortoiseSVN-1.9.2.26806-x64-svn-1.9.2.msi,如果需要切换语言,还可以在官网上下载相应语言包。

如果你电脑安装的Windows是32位的请选择32位的TortoiseSVN安装包,如果你电脑安装的Windows是x64的请选择x64的TortoiseSVN安装包。 下载区域的另一个文件TortoiseSVN-xxx-xxx.md5, 是安装时不需要的。它包含安装包的验证编号checksum,该验证编号能有效验证你是否下载到了合适的安装包 (且它没有损坏)。

你可以下载程序HashFile (http://www.shokhirev.com/nikolai/programs/progmisc.html) 来验证下载到的安装包的 MD5 哈希值 (checksum). 该验证编号必须和TortoiseSVN-xxx-xxx.md5文件上的信息完全一致。

这个安装也是直接的,同意默认设置即可。 唯一有趣的是ASP.Net hack. 默认情况下, SVN 使用 .svn 工作目录 (正如Linux下隐藏文件的命名风格)。

默认的, 不含有 ASP.Net hack

 含有给VS.Net web项目用的ASP.Net hack

这使得 微软 ASP.Net 和 the hack 强制 SVN 去使用  _svn 作为工作目录。 如果你要使用Subversion对ASP.Net项目进行版本控制,请不要安装ASP.Net hack这一项。

注: 安装完TortoiseSVN后,你的Windows 资源管理器的主目录上会出现下图所示的新的按钮: 

同时这些新增按钮也会添加到 (通过鼠标右键单击激活) 的上下文菜单中。

 

一步步地操作

目前有很多Subversion管理方式(参看手册). 现在我们主要考虑如下主要的情形: 

  • 你有一个现有的项目,你想将它加入版本控制。
  • 这是你本地电脑上的个人项目。

在这种情形下你不应该会担心安全性和开启一个subversion服务器。

假设你的项目驻放在 C:\Projects\MyProject 路径下,它包含如下文件,或许还有些子文件夹:  

步骤0 (可选). 设置全局忽略文件类型。 你可能不想跟踪临时文件 或  某些其他格式的文件。鼠标右击任意一个文件夹,然后打开TortoiseSVN的Settings:

当然你也可以鼠标右击文件, 打开Windows资源管理器主目录中的TortoiseSVN/Settings。

"General" -> "Subversion"处,你可以列出各种各样的文件类型,并使用空格隔开 (比如上图中示例的 *.bak *.~*). 注意到这个设置会对所有的工作目录有效。参看手册的5.25可了解更多的设置。

步骤1.创建版本库Repository。 在你的硬盘上为你的项目创建版本库的目录, 比如 C:\SVN. 在它里面创建一个空的子目录 \MyProject. 鼠标右键点击MyProject,并选择TortoiseSVN -> 在此创建版本库:

 选择默认"原生文件系统"(FSFS)选项,并单击OK按钮:

这一步将 C:\SVN\MyProject 转化为含有如下内容的版本库:

到目前为止,它还是一个空的版本库,虽然Subversion已经创建了几个目录和文件 ! 我们需要将我们的项目文件中需要进行版本控制的文件填充进去并将它链接到我们的工作项目的目录。这些操作中可能会有几个和大家的习惯操作不一样、新的操作。

 

步骤2. 导入初始化。 在你的磁盘的某处 (比如 在 C:\tmp) 创建一个目录 (比如 \new) ,含有如下3个子目录:

     C:\tmp\new\branchesC:\tmp\new\tagsC:\tmp\new\trunk

相应的文件结构为:

为了能用更多高级的项目管理功能,这个结构是必须的, 如果事先创建它也不会带来什么损害。 有些手册首推先导入此结构到版本库,然后向里面添加项目。我推荐使用如下的快捷方式:

  • 备份你的项目文件 (比如 C:\Projects\MyProject), 以防万一. 
  • 删除所有不在全局忽略文件列表中的不需要进行版本控制的文件。
  • 将 文件夹 \MyProject 中需要进行版本控制的内容 移动 进 trunk 子目录 (C:\tmp\new\trunk). 我们之后无论如何都将会需要一个空的文件夹。
  • 将目录"new"导入Import到版本库 (选择"new",右键依次单击TortoiseSVN->Import):

URL 选择 file:///C:/SVN/Myproject (左斜杠"/" !):

"Import finished" 消息出现时,表明 C:\tmp\new\下的所有文件及子文件夹都已成功导入版本库 :

不需要担心"tmp\new" 消息, 只要验证哪些文件真正地导入到了版本库中即可。 书表右键单击 C:\SVN\MyProject ,然后打开 TortoiseSVN -> Repo-browser(版本库浏览器):

导航 至 file///C:/SVN/MyProject/trunk:

注意到全局忽略列表的文件都没被导入。 并且也没有 'C:\tmp\new' 目录的痕迹了, 'C:\tmp\new' 目录再没有什么用处了,可以删掉。

 

步骤3. 创建工作目录 -  将你的项目与数据库连接起来. 现在你已经成功增加了你对所有需要进行版本控制的文件添加了版本控制,并且当前的空目录 C:\Projects\MyProject (回忆一下, 我们之前已将改目录中的所有文件 移动 到了 目录 C:\tmp\new\trunk 中,对么?). "为了让你的双手移动文件的这个行为获得"赞美", 完全得到批准, 并且完全导入Subversion目录, 你需要从版本库中对它进行检出Checkout" . 书表右击 C:\Projects\MyProject 文件夹,并选择 "SVN Checkout"(SVN 检出):

设置 URL 为 file:///C:/SVN/MyProject/trunk ,并设置检出目录为: C:\Projects\MyProject

点击OK. 会提示"Checkout (检出) has finished":

"赞美" 以"对勾Check"小图标的形式反映在你的项目目录和里面所有的文件(和所有的子目录)上。

这样的含有"对勾Check"的目录被称为工作目录。现在你可以开始使用SVN管理你的项目版本了,也可以学到更多关于Subversion的知识。

 

几点注意事项

  • 提交 (checking in) 你对版本库的变更: 右击鼠标,然后选择 "SVN Commit"(SVN提交)
  • 添加文件到版本库。 这是一个两步的过程: 
    1. 先右击选中的文件,然后右键依次选择 "TortoiseSVN"->"Add"
    2. 先右击选中的文件,然后右键依次选择 "TortoiseSVN"->"SVN Commit"
  • 除了参考书籍 [4] 和 [5], 我也推荐 Charlie Calvert 的文章 [6].
  • 如果你使用 Lavasoft Ad-Aware, 不要删除可以忽略的对象: 这一步会删除注册表中的图标设置 !
  • 祝开开心心 使用Subversion版本控制 !

 

参考资料

  1. Subversion 主页: http://subversion.tigris.org/ 
  2. By Hans Dietrich, Version Control for the Standalone Programmer - Part 1. - Code Project中的优秀文章.
  3. SVN 1-Click setup.- Windows下用单个安装包搭建SVN环境:http://svn1clicksetup.tigris.org/
  4. Adam Pash, How to set up a personal home Subversion server (Windows下需另外配置Apache).
  5. RapidSVN, 一种用于SVN版本控制系统的跨平台GUI前端: http://rapidsvn.tigris.org/ 
  6. TortoiseSVN, 一种 Subversion 客户端, 作为windows的命令行扩展: http://tortoisesvn.tigris.org/ 
  7. Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato. Subversion手册: http://svnbook.red-bean.com/ 
  8. TortoiseSVN 用户手册, 来自 TortoiseSVN官方网站 https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/.
  9. Charlie Calvert. 在Subversion Trunk, Tags, Branches中创建版本库、和项目。 Codefez: (http://www.codefez.com/Home/tabid/36/ctl/ArticleView/mid/364/articleId/144/Default.aspx)
  10. Sebastian Rahtz.Subversion简介, 牛津大学: http://www.oucs.ox.ac.uk/oucsweb/svn.xml
  11. OUCS提供的一份Windows下TortoiseSVN的使用手册.http://www.oucs.ox.ac.uk/oucsweb/tortoisesvn.xml
  12. TortoiseSVN 教程. http://www.mind.ilstu.edu/research/complete_inactive/iris4/iris40/developers/svntutorial/   
  13. SVN vs CVS. http://www.pushok.com/soft_svn_vscvs.php 
  14. 更多 SVN 链接

 

也可参看: Buildix - 磁盘上的敏捷开发平台 http://buildix.thoughtworks.com/.

Buildix 包含以下几部分:

  • Subversion 用于源代码控制
  • Trac 用于提供Wiki,Bug跟踪和日常的项目管理
  • Cruise Control 用于做后续集成

 

 

英文源地址: http://www.shokhirev.com/nikolai/programs/SVN/svn.html

Practical guide to subversion on Windows with TortoiseSVN

by Nikolai Shokhirev

 

 

 

这篇关于TortoiseSVN入门篇 - 将已有项目代码加入svn版本控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/826722

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

SpringBoot项目是如何启动

启动步骤 概念 运行main方法,初始化SpringApplication 从spring.factories读取listener ApplicationContentInitializer运行run方法读取环境变量,配置信息创建SpringApplication上下文预初始化上下文,将启动类作为配置类进行读取调用 refresh 加载 IOC容器,加载所有的自动配置类,创建容器在这个过程