原文链接:https://blog.csdn.net/aaroun/article/details/79074178

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

翻译: Bravo Yeung

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

参考资料

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

[转]将已有项目代码加入svn版本控制的更多相关文章

  1. SVN将项目代码加入svn版本控制

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

  2. 生产项目加入到SVN版本控制

    零.介绍 每天定时备份是通过ftp打包和同步的方式,这些都是比较粗的备份,没法恢复到指定时间的文件,所以需要用到svn控制版本. (请不要问我为什么不用git) 一.现有项目文件加入版本控制 因为项目 ...

  3. BBS+Blog项目代码

    项目目录结构: cnblog/ |-- blog/(APP) |-- migrations(其中文件略) |-- templatetags/ |-- my_tags.py |-- utils/ |-- ...

  4. xcode 把项目代码提交到远程SVN服务器

    环境 xcode 7  Mac air xcode默认支持GIT源码管理工具,但现在想把代码提交到已有到SVN服务器上,步骤如下: 1,在safari中打开svn链接地址,信任证书,输入用户名密码 , ...

  5. windows 系统使用 git 和码云管理代码(本地已有项目)

    1. 为本地项目创建本地仓 找到项目所在的根目录(目录下有解决方案那个),右击目录,点击右键菜单中的“Git Bash Here”(前提是你的电脑已经装了Git,我用的是TortoiseGit) 然后 ...

  6. 导入已有项目到svn

    版本管理一直是程序员使用频率比较高的一个工具软件.不管你是自己使用还是使用别人提供的svn服务,svn的使用技巧都一个必须掌握的技术.为止小编专门制作了关于svn使用技巧的系列文章.今天我们先来介绍一 ...

  7. idea 开发 webpack项目时,只要已加入SVN 版本控制 一直 updating 问题解决

    场景描述,这是一个困扰我很久的一个问题,一直百度,都解决不了,今天自己通过设置终于解决了,慢慢的都是辛酸泪,赶快写个笔记记录一下. 对于idea 开发 vue-cli+webpack 项目,idea  ...

  8. 使用命令行 Subversion 访问项目源文件(SVN)

    from:http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn 命令行 Subversion 入门 如果您参与的项目 ...

  9. Google Code项目代码托管网站上Git版本控制系统使用简明教程

    作为一个著名的在线项目代码托管网站,Google Code目前主要支持三种版本控制系统,分别为Git, Mercurial和 Subversion.Subversion即SVN相信大家都已经熟知了,这 ...

随机推荐

  1. Hibernate 5.x 生成 SessionFactory 源码跟踪分析

    我们要使用 Hibernate 的功能,首先需要读取 Hibernate 的配置文件,根据配置启动 Hibernate ,然后创建 SessionFactory. 创建 SessionFactory ...

  2. Django 常用的 Web 应用程序工具

    Django 提供了多种开发 Web 应用程序所需的常用工具,如:缓存.日志.发送邮件.自定义认证等,更多可参考:<https://docs.djangoproject.com/zh-hans/ ...

  3. 树莓派安装realvnc_server

    先 sudo raspi-config 打开VNC. 然后去realvnc官网去下载raspberry的vncserver 已经ssh连接的前提下可以电脑下载后使用scp命令转移到树莓派上,使用以下命 ...

  4. php的选择排序

    往前. <?php /** * 选择排序 * 工作原理是每次从待排序的元素中的第一个元素设置为最小值, * 遍历每一个没有排序过的元素,如果元素小于现在的最小值, * 就将这个元素设置成为最小值 ...

  5. 【P1889】SOLDIERS (中位数)

    题目描述 在一个划分成网格的操场上, n个士兵散乱地站在网格点上.由整数 坐标 (x,y) 表示.士兵们可以沿网格边上.下左右移动一步,但在同时刻任一网格点上只能有名士兵.按照军官的命令,们要整齐地列 ...

  6. ORM概述(对象关系映射)

    ORM概述: ORM(Object-Relational Mapping)表示对象关系映射.在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中.只要有一套程序能够做到加你对象与数据库 ...

  7. python基础语法3 元组,字典,集合

    元组: ========================元组基本方法===========================用途:存储多个不同类型的值定义方式:用过小括号存储数据,数据与数据之间通过逗号 ...

  8. redux沉思录

    要素:store.reducer.dispatch/subscribe connect:将业务逻辑剥离到容器类,数据的双向绑定: 数据.操作.UI分离.命令封装 核心思想:对共享状态的维护: 核心代码 ...

  9. [转载]sql server死锁

    SQL Server Deadlocks by Examplehttps://www.red-gate.com/simple-talk/sql/performance/sql-server-deadl ...

  10. Math小记

    20161231 黄金分割比:短/长=长/(短+长)=((根号5)-1)/2 ≍ 0.618 斐波那契数列前后两项的比值存在极限.设其中三个数为a.b.(a+b),则当项数趋于无穷时有a/b=b/(a ...