坚果云+svn实现异地非局域网个人代码版本管理

时间:2021-03-25 15:56:08

原理大概是A地的设备作为服务端创建仓库,将仓库传上坚果云,同步到B地,再拉取仓库的代码

坚果云+svn实现异地非局域网个人代码版本管理坚果云+svn实现异地非局域网个人代码版本管理

因为我的实验室是Mac,宿舍是win,目的是将实验室的代码拉回宿舍,所以以Mac创建仓库,win拉取仓库。因为是组合实现,所以部分软件安装使用就不详细说明了

第一步:下载坚果云,并创建同步文件夹
第二步:配置Mac端svn服务

1、Mac下SVN的配置使用

由于Mac自带了svn的服务器端,
1、先在坚果云同步目录下新建一个svn目录,值得注意的是默认的坚果云目录有中文或空格,出问题的话要处理一下
打开终端,创建一个仓库,输入指令:svnadmin create 目标目录  
例如我的就是svnadmin create /user/download/nut/svn
2、配置svn的用户权限
主要是修改/svn/conf目录下的三个文件
1.打开svnserve.conf,将下列配置项前面的#和空格都去掉
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问
2.打开passwd,在[users]下面添加帐号和密码,比如:
[users]
mj =123
jj =456
帐号是mj,密码是123
3.打开authz,配置用户组和权限
我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。
在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开
[groups]
topgroup=mj,jj
说明mj和jj都是属于topgroup这个组的,接下来再进行权限配置。
@topgroup= rw
上面的配置说明topgroup这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@
如果是用户名,不用加@,比如mj这个用户有读写权限
mj = rw
至于其他精细的权限控制,可以参考authz文件中的其他内容或自行百度
4.启动svn服务器
在终端输入下列指令:svnserve -d -r /user/download/nut/svn
没有任何提示就说明启动成功了
5.关闭svn服务器
如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器”
第三步:配置Mac端svn客户端
MAC OSX下采用的是Cornerstone,可视化svn管理工具
1、选择:Add Repository……
2、在“file Repository”下 Add Existing Repository ,地址选择刚配置好的svn仓库
第四步:配置Win端svn客户端
Win端就是常用的小乌龟TortoiseSVN,创建一个本地文件夹作为svn日常使用的地方,对同步过来的svn仓库进行拉取提交
坚果云+svn实现异地非局域网个人代码版本管理坚果云+svn实现异地非局域网个人代码版本管理
但是有一点值得注意的是,小乌龟以本地仓库为url时要以file:///开头再跟本地的svn仓库,例如:file:///E:\NutCloud\我的坚果云\svnWorkspace
到此结束教程,非局域网下的个人代码版本管理实现
 
挖个坑,后边有空研究下git,毕竟svn是比较老的,git是现在的主流
 
参考资料: