Vampireyifeng 发表于 2014-11-27 07:50:49

【AD系列教程】利用SVN进行版本控制设计

本帖最后由 Vampireyifeng 于 2014-11-28 11:26 编辑

一、        前言
        版本控制相信大家都很熟悉,在管理代码上我使用的是TortoiseSVN做的版本控制,再用VisualSVN Sever做的本等版本库的管理。再用百度云把版本库自动同步,这样就可以实现多机管理代码版本了。当然如果有钱可以直接购买付费版本用VisualSVN Sever将版本库同步到服务器上。在AltiumDesigner中做电路板设计的过程中也可以使用版本控制对不同版本的工程图进行相应的管理,方便查看。AltiumDesigner支持第三方版本控制软件进行版本控制。由于我电脑上装的是TortoiseSVN,所以本教程就以此软件做为AltiumDesigner的第三方版本控制软件,当然还有很多别的版本控制软件如:SVN、CVS、SCCI等。

【相关教程贴】
【01】官方关于版本控制的文档
【02】在PCB中加入任意图形
【03】层次化设计之多图纸多通道设计
【04】模块复用设计之设备图表符
【05】差分布线与蛇形行长布线设计
【06】利用SVN进行版本控制设计
【07】打印多页图层的PDF文档
【08】根据3D文件创建PCB板形
【09】官方技术文档
【10】多人PCB协作设计

二、        安装TortoiseSVN版本控制软件
和一般Windows软件安装一样,一步一步next下去就可以了。



到这里版本控制软件就安装完成了,这里不再介绍如何使用TortoiseSVN进行版本控制以及如何使用VisualSVN Sever进行版本库的管理。大家可以参考一下我以前的贴子。
三、        安装VisualSVN Sever软件
同大多数Windows软件的安装一样,这里我也不说什么了,很简单。只不过安装过程中要设置一个用于存放所示本地版本控制库的文件夹。这就是我说的是百度云同步的文件夹。这里就是安装AD调用的外部SVN程序。至于VisualSVN Sever软件的使用后文中我会具体说。
四、        在AD中进行版本控制
1)        设置SVN的调用路径
安装完版本控制软件后,要在AD中设置相应的调用路径。如下图所示打开参数设置窗口。

在VersionControl下点击自动检测,则软件会自动将VisualSVN Sever的SVN设置为外部版本控制软件。当然可以使用AD内部自带的版本控制软件。

2)        创建SVN版本控制库
在生成工程的版本控制库之前要创建一个文件夹,用于存放版本控制库。本例创建的文件夹路径为(E:\AltiumDesign\VersionControl)。如下图所示添加工程到版本控制库。

如下图所示设置版本库存放路径。

然后创建新的设计存储库,如下图所示。

然后如下图所示设置版本控制库的名称以及存储路径。

接下来在版本控制库目录下新建用于存放本工程版本控制库的文件夹,如下图所示。

确定后软件将自动将工程加入到版本控制库中。

同时可以选择加入到版本控制库的文件。

接下来将整个工程添加到版本控制库中。

同样选择要提交的文件,并且加入相应的说明文字。

提交完成后,工程目录树相应的文件右侧会有绿色的对号,则说明工程提交到版本控制库中完成。

3)        修改后的文件进行版本控制
正如我们使用TortoiseSVN对代码进行版本控制一样,当PCB工程纳入到SVN版本控制管理后,用户在后续对项目中任何文件进行修改后,存储后软件将在文件的目录树中提示一个红色的叹号,表示文件有被改动过。

然后将修改后的文件提交到版本控制库中。

提交完成后,我们可以利用SVN的版本控制将项目中的历史版本进行相互的对比,以查看工程文件的差异。如下图所示。

找到要查看版本比较的文件,选中要对比的版本,右键比较。

然后软件将会自动显示所比较的版本的差异。

同样你可以使用TortoiseSVN软件对文件进行提交和所有版本控制相关的操作。AD中同样会记录,这就是使用外部SVN版本控制软件的好处。同样你也可像对代码做版本控制一样,使用VisualSVN Sever等版本控制库管理软件,对版本控制本地库,进行相应的管理。


下面来介绍如何使用VisualSVN Sever管理软件。对代码进行版本控制同样适用。
五、        VisualSVN Sever对版本控制库进行管理
1)        使用VisualSVN Sever软件
如下图所示,在Repositories上右键,新建一个版本库。

为版本控制库,设置一个名字。



如下图所示,在版本库上右键复制版本控制库的地址。则在使用TortoiseSVN提交工程文件时,设置目标地址为些地址即可。


六、        相关附件下载
【1】
【2】
【3】
【4】
【5】
【6】
【7】
【8】

【后记】
当然有什么问题可以微信扫一下二维码,交流交流{:biggrin:} {:biggrin:}




mangoes 发表于 2014-11-27 07:59:38

小公司多人合作没有做统一管理,感觉很乱,所以最近也在研究这个,谢谢LZ

myxiaonia 发表于 2014-11-27 08:01:50

强烈支持,其实用一个tortoisesvn就可以搞定了,他也能建库啊。。。。我就是这么搞的

amxx 发表于 2014-11-27 08:04:40

楼主这个SVN的教程做得很详细,楼主很用心,非常感谢!!

Vampireyifeng 发表于 2014-11-27 08:09:41

mangoes 发表于 2014-11-27 07:59
小公司多人合作没有做统一管理,感觉很乱,所以最近也在研究这个,谢谢LZ

后面有一讲讲的就是局域网内多人协作PCB设计的,不过今天的附件用完了,明天再上传。{:biggrin:} {:biggrin:}

Vampireyifeng 发表于 2014-11-27 08:11:25

myxiaonia 发表于 2014-11-27 08:01
强烈支持,其实用一个tortoisesvn就可以搞定了,他也能建库啊。。。。我就是这么搞的 ...

是的,过过用VisualSVN Sever可以更好的管理版本库。{:biggrin:}

Vampireyifeng 发表于 2014-11-27 08:12:13

amxx 发表于 2014-11-27 08:04
楼主这个SVN的教程做得很详细,楼主很用心,非常感谢!!

这个也是为了后面的局域网内PCB协作设计准备的{:biggrin:} {:biggrin:}

Halley 发表于 2014-11-27 08:15:07

svn+酷盘屌丝的选择

朝闻夕道 发表于 2014-11-27 08:30:42

又见楼主,你太给力了;

xk376632352 发表于 2014-11-27 08:36:03

谢谢LZ,最近正在研究这个东东

coslight_dt 发表于 2014-11-27 08:42:40

太象样了~受教了

fanfanrenfan 发表于 2014-11-27 08:44:03

以后有机会研究,这个不错

electricdream 发表于 2014-11-27 08:47:20

跟着楼主,不断进步!

mubei 发表于 2014-11-27 08:52:45

支持一下 楼主 吼吼~~   

yueqia1988 发表于 2014-11-27 09:03:07

支持楼主,过会试试,

suming1189 发表于 2014-11-27 09:05:07

很用心的一个帖子。。。

OurWay 发表于 2014-11-27 09:12:15

很用心的帖子,目前改版本还是用Readme.txt,但是很不方便,尝试一下这个版本管理,谢谢分享{:smile:}

szy494468597 发表于 2014-11-27 09:17:39

很详细啊好好学习

shower.xu 发表于 2014-11-27 09:31:57

也用乌龟,把仓库建在公司服务器上,每次码完一个版本提交一次

mangoes 发表于 2014-11-27 10:58:19

Vampireyifeng 发表于 2014-11-27 08:09
后面有一讲讲的就是局域网内多人协作PCB设计的,不过今天的附件用完了,明天再上传。 {:biggr ...

请教LZ几个问题{:smile:} :
1.VisualSVN创建仓库好像无法删除和重命名.子目录好像只可以删除,但也无法重命名.
2.一般每个产品是创建一个独立的仓库还是在一个仓库下创建相应产品的子目录呢?

myxiaonia 发表于 2014-11-27 11:09:57

Vampireyifeng 发表于 2014-11-27 08:11
是的,过过用VisualSVN Sever可以更好的管理版本库。

建议加精啊哈哈哈

yjysss 发表于 2014-11-27 11:35:15

代码更新版本上用过这个软件

血刃修罗 发表于 2014-11-27 11:36:05

楼主的教程写的非常好,我整理了一份PDF版的。

error_dan 发表于 2014-11-27 11:57:18

收藏,建议加精,期待LZ下一篇.

elecfun 发表于 2014-11-27 12:09:01

好东西,一直想弄个版本管理,不然多台电脑很不方便。

Bicycle 发表于 2014-11-27 12:25:06

版本控制也很乱,有时间整理下

mangoes 发表于 2014-11-27 15:07:34

Vampireyifeng 发表于 2014-11-27 08:09
后面有一讲讲的就是局域网内多人协作PCB设计的,不过今天的附件用完了,明天再上传。 {:biggr ...

摸索了一个早上,之前的问题解决了

ababvic 发表于 2014-11-27 15:14:56

学习!!!

彼岸花开@ 发表于 2014-11-28 08:36:37

谢谢。。弄了几天git。。。

彼岸花开@ 发表于 2014-11-28 08:37:10

谢谢。。弄了几天git。。。

52avr 发表于 2014-11-28 09:14:11

收藏,谢谢楼主

Vampireyifeng 发表于 2014-11-28 15:35:42

朝闻夕道 发表于 2014-11-27 08:30
又见楼主,你太给力了;

谢谢支持{:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:36:28

coslight_dt 发表于 2014-11-27 08:42
太象样了~受教了

谢谢支持{:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:36:57

electricdream 发表于 2014-11-27 08:47
跟着楼主,不断进步!

谢谢支持{:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:37:32

mubei 发表于 2014-11-27 08:52
支持一下 楼主 吼吼~~

谢谢支持{:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:38:19

yueqia1988 发表于 2014-11-27 09:03
支持楼主,过会试试,

谢谢支持{:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:38:39

suming1189 发表于 2014-11-27 09:05
很用心的一个帖子。。。

谢谢支持{:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:39:05

OurWay 发表于 2014-11-27 09:12
很用心的帖子,目前改版本还是用Readme.txt,但是很不方便,尝试一下这个版本管理,谢谢分享 ...

谢谢支持{:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:39:32

szy494468597 发表于 2014-11-27 09:17
很详细啊好好学习

谢谢支持{:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:47:48

mangoes 发表于 2014-11-27 10:58
请教LZ几个问题 :
1.VisualSVN创建仓库好像无法删除和重命名.子目录好像只可以删除,但也无法重 ...

你可以没有明白版本库的概念。

tianzhiying 发表于 2014-11-28 15:48:02

SVN还能这么用,好强大的感觉,谢谢LZ

Vampireyifeng 发表于 2014-11-28 15:49:11

本帖最后由 Vampireyifeng 于 2014-11-28 15:50 编辑

血刃修罗 发表于 2014-11-27 11:36
楼主的教程写的非常好,我整理了一份PDF版的。

谢谢支持,下面有我总结贴,里面有所有的PDF下载{:biggrin:} {:biggrin:}
http://www.amobbs.com/thread-5606203-1-1.html

Vampireyifeng 发表于 2014-11-28 15:51:13

error_dan 发表于 2014-11-27 11:57
收藏,建议加精,期待LZ下一篇.

谢谢支持{:biggrin:} {:biggrin:} 下面有总结贴
http://www.amobbs.com/thread-5606203-1-1.html

Vampireyifeng 发表于 2014-11-28 15:51:42

elecfun 发表于 2014-11-27 12:09
好东西,一直想弄个版本管理,不然多台电脑很不方便。

谢谢支持{:biggrin:} {:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:52:18

ababvic 发表于 2014-11-27 15:14
学习!!!

谢谢支持{:biggrin:}

Vampireyifeng 发表于 2014-11-28 15:52:46

52avr 发表于 2014-11-28 09:14
收藏,谢谢楼主

谢谢支持{:biggrin:}

fancyboy 发表于 2014-11-28 17:35:39

非常感谢!mark

mcu_mouse 发表于 2014-11-28 17:45:14

非常不错,我现在都是直接把PCB和代码一样的提交的。以前也想像楼主这样从AD里面提交,但是没弄成功过{:lol:}

eliterxzgxu 发表于 2014-11-28 17:49:13

好资料,收藏了。

wzavr 发表于 2014-11-28 21:41:04

谢谢lz总结,对于版本控制,前段时间稍微接触过git,还没在一个实际的工程下用过版本控制,一直怕出问题

llz 发表于 2014-11-29 00:03:26

绝对的好帖,必须收藏!

clesun 发表于 2014-12-1 15:19:24

一直在用SVN,楼主的太详细了,顶

百里屠苏 发表于 2015-1-5 11:04:16

楼主很认真,对比自己,感觉自己好浮躁,真心向你学习了

oajj 发表于 2015-1-6 02:12:44

非常好,酷 ,是规范化很好的教程

sandman 发表于 2015-1-6 08:17:23

有时间时可以试试,感谢写的这么详细

advantech 发表于 2015-1-12 13:44:47

很好的教程哦。

cjp88811283 发表于 2015-3-30 21:21:56

非常棒,有学到一招

moouse 发表于 2015-7-1 09:17:12

非常感谢,正好需要

dswkl11 发表于 2015-7-1 09:43:31

好东西,但是 现在很多都用git,那个TortoiseGit不知好不好用

xd785 发表于 2015-9-10 16:35:29

好东西,不过我还是用自带的了,代码用git方便很多,画PCB,AD不支持git,没办法

wrmike 发表于 2016-12-25 13:02:00

snv如何共享pcb库文件

lollipop 发表于 2016-12-25 15:21:04

xd785 发表于 2015-9-10 16:35
好东西,不过我还是用自带的了,代码用git方便很多,画PCB,AD不支持git,没办法 ...

有人问过ad的工程师以后会不会支持git,对方一脸懵逼的问什么是git。。。

eliterxzgxu 发表于 2016-12-25 16:06:10

感谢楼主分享

Xiyuhexuan 发表于 2016-12-25 20:07:46

呵呵好东西啊

hnsjlcj 发表于 2018-3-24 14:06:52

感谢楼主分享!

csy1991hf 发表于 2018-4-5 20:24:04

很好、很详细的文档

fdcnuaa 发表于 2018-7-30 15:30:25

很详细的文档,谢谢分享

Wesson 发表于 2018-10-29 16:41:55

好东西,有空仔细研究一下。

bitcoin2 发表于 2018-10-29 17:03:13

这教程杠杠的,笑纳了

xuekcd 发表于 2018-10-29 18:06:46

谢谢楼主分享!已收藏!

oaixuw 发表于 2018-11-20 14:21:16

这个很不错,收藏了,谢谢!

TKZXJ 发表于 2018-12-16 14:01:49

顶一下 好东西

zhiyuanzhitian 发表于 2021-10-12 11:28:04

非常感谢!mark

gloryglory 发表于 2023-7-8 19:50:33

非常感谢!mark
页: [1]
查看完整版本: 【AD系列教程】利用SVN进行版本控制设计