目录
如何使用本地SVN(TortoiseSVN)管理自己的软件版本
1. 安装TortoiseSVN.
2. 建立SVN数据库
3. 得到本地SVN数据库地址:
4. 为了方便管理, 可以在Svn中建立自己想要的文件结构
5. 上传代码: 最简单的, 直接把程序对应的文件夹拖进来即可
6 代码从SVN中下载.
7. 软件更改后的提交(上传)
8. 如何返回到任意一个的版本.
9. 一些使用建议:
本文介绍 TortoiseSVN 部署在个人PC电脑上, 供自己一个人使用的方法.
,在没有遇到 TortoiseSVN之前, 自己软件的版本控制就是一堆 *.zip 压缩文件. 然后, 麻烦事来了:
1. 查找版本之间的差别, 还得解压各ZIP文件进行对比.
2. 常常因为改几句代码导致死机, 然后再也找不到自己想要的版本, 崩溃啊, 从头再移代码吧.
自从有了SVN版本控制软件, 真的是香啊.
在公司团队使用中, SVN通常部署在服务器上, 进行团队协作开发, 解决成员之间代码同步,冲突等问题.
很显然, 也可以把SVN部署在自己的本地电脑上, 对自己一个人写的软件进行版本控制, 代码对比等.
//----------------------------------------------------------------------------------
本文介绍 TortoiseSVN 部署在个人PC电脑上, 供自己一个人使用的方法.
//----------------------------------------------------------------------------------
一路默认安装下来即可. 安装成功后, 在桌面空白处, 点击鼠标右键菜单中可以看到有 TortoiseSVN 菜单选项.
一般新建一个文件夹, 在文件夹中建立一个SVN数据库. (后面所有代码提交都会放到这个数据库)
示例如下: 新建一个SvnBase文件夹, 鼠标右键可以弹出如下菜单项, 点击 "Create respository here"
点击 "Create respository here"后, 会弹出如下选项, 自己一个人的项目, 直接点击OK即可 (可以不用点击 "Create folder structure / Start Repobrowser"之类)
可以看到, 在数据库文件夹中, 增加了一堆SVN自己的管理文件. 到此, SVN数据库就建立起来了.
//----------------------------------------------------------------------------------
在数据库文件夹中, 点击鼠标右键,选择 "Tortois-eSVN->Repo-browser", 弹出的地址也就是 SVN的数据库地址. 记下这个地址, 下次提交代码往这个地址提交即可.
可以看到, 目前SVN的数据库地址为 "file:///G:/SvnBase" , 目前数据库中还没有任何东西,
//----------------------------------------------------------------------------------
操作如下
建立一个 "客户支持"文件夹后, 效果如下, 接下来可以往里面添加代码了
//----------------------------------------------------------------------------------
.(建议先删除编译产生的中间文件, 如obj文件等, 再进行第一次上传, 建后文中的TIPS2)
每次上传代码时, 建议均写上 日志信息, 方便后面查看.
//----------------------------------------------------------------------------------
上传完成后, 记住SVN路径, 接下来就可以从这个路径下载代码了.
如此次上传路径为:
file:///G:/SvnBase/客户支持/20200612_SDK_AB530X_V06X_S5620
//----------------------------------------------------------------------------------
可以把 本地文件夹 20200612_SDK_AB530X_V06X_S5620中的代码删除, 然后从SVN中把相同的代码下载下来, 这样, 代码就受SVN管理了.
代码下载下来后, 可以看到, 文件夹中多了一个 ".svn" 隐藏的管理文件, 源代码文件夹中含有 绿色勾. 这样就表示软件就受SVN 版本控制了
到此, 上传的第一个版本软件就受SVN 版本控制了.
//----------------------------------------------------------------------------------
如在程序main.c中增加了一个svn_test函数.
void hello_print(void)
{
printf("hello_print\n");
}
代码更改后, 可以通过TortoiseSVN-->Check for modifications 查看软件中修改的地方:
代码修改如下:
同时, 若源代码与SVN版本库有不同时, 受版本控制的文件夹上会有 红色叹号, 如下图:
若确认好修改后, 就可以上传修改后的代码到 SVN库中了.
在文件夹空白处点右键, 弹出对话框中选则 SVN Commit即可上传修改的代码.
提交成功后, 可以通过TortoiseSVN-->Show log 查看每个版本信息, 同时, 可以看到底文件夹又变回了 绿色勾 (表示软件与SVN库中软件是一致)
//----------------------------------------------------------------------------------
通过TortoiseSVN-->Update to revision, 把软件返回到任意一个版本.
如下图, 可以通过查看日志, 返回到第4个版本
点上图OK, 更新到第4版本后, 可以查看日志, 黑色粗体日志表示目前版本已经在第4版了.
//----------------------------------------------------------------------------------
TPS1: 尽量在关键修改完成后, 均上传版本, 方便后面返回到关键版本查看问题.
TIPS2: 上传到SVN库中的文件, 尽量把编译过程中的临时文件删除掉, 减少没有必要的上传.
如果蓝讯530X工程中, 可以在第一次版本上传前, 运行一次图中的 Zdel.bat,删除可能存在的编译临时文件.
Zdel.bat文件中的内容如下: 可以看到删除了obj等与源代码无关的一些临时文件.
del app.layout /q
del app.depend /q
del app.bmarks /q
del Output\bin\app.rv32 /q
del Output\bin\xcfg.xm.bak /q
rmdir Output\obj /q /s
//----------------------------------------------------------------------------------
TIPS3: TortoiseSVN自带的比较软件不太好用, 建议在配置中改成ByondCompare进行比较.
//----------------------------------------------------------------------------------
以上介绍了本地TortoiseSVN常用操作, 更多操作可以自行探索.
本文结束. Thanks.