电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
手把手教你如何在AD中使用SVN版本控制
分 享
扫描二维码分享
手把手教你如何在AD中使用SVN版本控制
SVN
AD
版本控制
果果小师弟
关注
发布时间: 2021-09-18
丨
阅读: 2087
**摘要**:说起版本控制`git`,基本大多数都是搞计算机的人在用,嵌入式的也在用,但是还是比较少,只有搞代码编程的人会用一下。其实搞硬件也可以用版本控制。如果你是一名硬件工程师,或者经常画PCB板,建议用一下版本控制SVN。使用之后你就再也不需要在你的本地经常保存压缩各种版本了。 ![](https://img-blog.csdnimg.cn/img_convert/1d98070fe9244f71a557382c30375bfc.png) AD支持Subversion(SVN)和Git版本控制系统(VCS)。因为它对这些系统有内部支持,所以它提供了对AD中常见的SVN/Git文件处理命令的访问,例如提交、更新等,以及附加的Subversion功能,例如创建SVN存储库的能力。这与原理图和PCB比较功能集成在一起,可以轻松快速比较和识别原理图或 PCB文档的两个修订版之间的差异,对于PCB设计,使用AD协作功能解决并发修订冲突。 # SVN的一些概念 * repository(源代码库):源代码统一存放的地方 * Checkout(提取):当你手上没有源代码的时候,你需要从`repository checkout`一份 * Commit(提交):当你已经修改了代码,你就需要`Commit`到`repository` * Update(更新):当你已经`Checkout`了一份源代码,`Update`一下你就可以和`Repository`上的源代码同步,你手上的代码就会有最新的变更。 # 一、创建码云仓库 使用版本控制,肯定要创建一个仓库了,我使用的仓库是码云仓库,推荐使用国内的开源仓库。 ![ ](https://img-blog.csdnimg.cn/17cf1e05a4f34bfc8ebd720970311b12.png) 创建仓库时,在添加`.gitignore`要选择`SVN`,选择这个文件的目的是这个文件会告诉我们要上传那些文件和不上传那些文件。比如我们如果是对QT进行项目管理这里就可以填写QT,如果是对Python进行项目管理这里就可以填写Python。 ![ ](https://img-blog.csdnimg.cn/5b23a8f0df414964bf947a6696d43a2b.png) 这里面的仓库地址可以在个人设置中修改,每个人只可以修改一次。创建好后,我们回到个人主页,点击仓库,就能看见你现在所管理的仓库。然后进入你所创建的仓库后,点击**管理**,我们需要打开`SVN访问`。 ![ ](https://img-blog.csdnimg.cn/063801f4e36b40b9a0208eeaa421d537.png) 现在你就拥有了一个支持SVN的Git网络仓库了。 # 二、在AD中设置SVN版本控制 打开AD后,点击右上角的**设置**按钮。我这里使用的是AD18,因为这是在18年安装的最新版,之后就很少画板子了,现在应该是AD21版本了,因为AD公司每年都会发一个新版本。基本上操作流程是一样的。 ![](https://img-blog.csdnimg.cn/b4ee9356466e4d2f9754eb9e5ecef325.png) 在弹出的面板中选择:`Designer Repositories`。点击`Creat New`。创建`SVN` ![](https://img-blog.csdnimg.cn/6824a5aa512a4a899cb47358bae9b501.png) 接下来的设置很重要。如果设置错了可能连接不上。 1. **Name**:这里填写的是SVN仓库的名字。自定义即可,没有影响。 2. **Default Checkout Path**:默认提取的路径。因为我们的SVN版本控制也是需要文件存储的,所以这里要设置一个空文件夹。放在一个安全的地方就可以,自定义设置,没有多大影响。 3. **Method**:方法。肯定选择是SVN版本控制,其他的没有试过,可以自行尝试。 4. **Server**:服务器。我们使用的是码云,这里要填 gitee.com。 5. **Server Port**:服务器端口。默认即可,当然你也可以指定固定的端口,当然为了防止端口冲突,建议选择默认端口。 6. **Repository Subfolder**:存储器的子文件夹。如仓库的路径是`svn://gitee/用户名/仓库名称`。这里就要填写:`/你的用户名/仓库的名称`。 7. **User Name**:gitee的用户名。 8. **Password**:gitee的密码。 ![ ](https://img-blog.csdnimg.cn/775d94e6945e4b7a9e226a8ac58b5666.png) 之后点击Test。如果出现Connection OK,即可表明连接远程仓库成功。 ![](https://img-blog.csdnimg.cn/e8f1f8754e044841a94f75ddb3ea5003.png) ![](https://img-blog.csdnimg.cn/721213878aaf4a9eba4875e81562f1c5.png) # 三、添加到SVN版本控制 将项目及其组成文档添加到版本控制的最直接方法是将完整的项目文件夹添加到 VCS存储库。为此,在工程名上`右键—>版本控制—>添加项目文件夹到版本控制系统`。 ![](https://img-blog.csdnimg.cn/ea4336f7e3aa47aca1a140cdf5df0cce.png) 在添加到版本控制对话框,提供了用于选择目标设计存储库和子文件夹的选项。点击`New Folder`按钮以自动创建与源项目文件夹名称匹配的存储库子文件夹。单击`ok`以确认设置。 ![](https://img-blog.csdnimg.cn/f94024874ccf4f71a358e12983009bd8.png) 然后对话框将填充来自源文件夹的文件条目,并选中项目的组成文件。 ![ ](https://img-blog.csdnimg.cn/8d5c0a24c3a7425b88ae1215849e3230.png) 选择`Commit`确认选择、请注意,此时工程文件具有`Scheduled for addition(+)`。这表明 VCS 已经注册了要添加到版本控制的文件,并且准备好提交到 VCS 存储库中。 ![ ](https://img-blog.csdnimg.cn/1f9f237bdf484c7689484f5b55cc6019.png) 在点击`Commit`之前工程文件夹和gitee仓库是这样的 ![点击Commit之前](https://img-blog.csdnimg.cn/6fba24aa911b4f10b8b1653aba01d8dc.png) ![点击Commit之前](https://img-blog.csdnimg.cn/6c6f9091641b4588bb458c49c2054785.png) 在点击`Commit`之后工程文件夹和gitee仓库就会变成这样,新增了很多文件。 ![点击Commit之后](https://img-blog.csdnimg.cn/95c5f7620d10489ea8d61c8e1124adef.png) ![点击Commit之后](https://img-blog.csdnimg.cn/1c5efed7c8514b56b96b91f4fbcc227c.png) # 四、提交一个项目 状态为`Scheduled for addition(+) `将在提交时添加到版本控制和设计存储库中。在工程名上右键—>版本控制—>提交整个项目。 ![](https://img-blog.csdnimg.cn/bf8d5bc43d04461986ad647e3d673688.png) 随后的“`添加到版本控制`”对话框允许取消选择(或选择其他项目)以包含在版本控制下的单个项目文件。还可以添加注释,该注释将包含在即将发布的VCS修订版中。 ![](https://img-blog.csdnimg.cn/f1661ddd42774224b60e9f8fbd273d03.png) 然后将项目及其构成的设计文档复制到 VCS 存储库并注册为新版本,同时 AD面板中文件的状态更改为`No Modification(√)`。表明文件的本地副本与存储库中的文件匹配,并且是最新的。 ![ ](https://img-blog.csdnimg.cn/912c7c583e214195ad2627dbfcde7321.png) ## 几种状态说明 ![wwww.zhiguoxin.cn](https://img-blog.csdnimg.cn/40a5328e988e4b9faa8da91d7b1d62a8.png) 最新版AD好像是新增了Git的版本控制,可能是我的AD版本过低没有看到git控制,不过SVN控制已经绰绰有余了。 # 五、Git与SVN对比 SVN是集中式版本控制系統,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。 关于Git和SVN,大家可能最疑感的地方,就是不理解,Git的分布式是怎么回事? ![](https://img-blog.csdnimg.cn/img_convert/2e57e55e34e5729d9d0f66ad32c3601c.png) 在实际的开发或者练习中,我们好像还是会有一个远程的服务器,不管是搭载在Github上,还是我们国内流行的码云上,每次好像也需要从这里拉取代码,提交代码的,这个似乎和SVN是一样的,存在这种疑感很正常,其实不管是我们自己的电脑,还是GitHub、码云的仓库,它最根本的还是台电脑,所以这点和我们本地没有多大的差别,只不过呢,我们毕是团队开发,所以更多的时候,我们还是会弄一个远程的、联网当作的仓库,这样一来,大家把代码提交到这里,准确在git中应该是push到这里,之后找们其他人再去拉去,这样大家会统一的获取一份代码,不需要私下几个人复制代码去传送,这样理解,应该就比较简单了。
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
果果小师弟
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交