SVN工作原理(帮助实现代码管理)
svn工作原理:在svn服务器上每个源代码文件都有一个版本(1、2、3),假设服务器上的代码文件原始版本是1,张三下载下来,修改后这个版本自动+1,变成了2,他把这个2上传到服务器。李四之前也下载了版本为1的这个文件,李四也修改,版本也是2,这时他要上传,服务器发现这个文件版本2在服务器上已经存在,发出警告:版本冲突了。如何解决?合并。1、配置服务器安装SubVersion ,svn-
·
svn工作原理:在svn服务器上每个源代码文件都有一个版本(1、2、3),假设服务器上的代码文件原始版本是1,张三下载下来,修改后这个版本自动+1,变成了2,他把这个2上传到服务器。李四之前也下载了版本为1的这个文件,李四也修改,版本也是2,这时他要上传,服务器发现这个文件版本2在服务器上已经存在,发出警告:版本冲突了。如何解决?合并。
1、配置服务器
安装SubVersion ,svn-1.4.5-setup.exe
创建电子仓库(SVN数据库) svnadmin create E:\Example\SVNROOT\TEST(如果用svn管理多个数据仓库,建议都放在svnroot下,需要提前建立SVNROOT目录)
将SVNService.exe拷贝到SubVersion的安装目录中的\bin目录, 保证SVNService.exe和svnserve.exe在同一目录。( SubVersion本身是由命令行启动的, 它不能像Windows 服务一样随Windows启动,需要借SVNService来包装成Windows 服务)
安装服务: SVNService -install -d -r <svnroot>, <svnroot>代表SubVersion服务的数据仓库目录(如果执行不成功,可以保存成bat文件,以管理员身份运行)。如果存在多个仓库,这里的svnroot指根目录
启动服务,自动运行
在电子仓库的conf目录中有三个文件,是关于访问权限控制的。分别作如下修改:
svnserve.conf
anon-access = none 不允许匿名访问
auth-access = write 授权访问赋予写权限
password-db = passwd 指定用户口令文件
authz-db = authz 指定用户权限文件
authz
[/]
user1 = rw 用户user1具有读写权限
user2 = rw 用户user2具有读写权限
* = 其他帐户没有权限
passwd 设置用户的口令
[users]
user1 = 123
user2 = 123
修改以上内容后,建立了user1、user2两个svn用户,口令都是123,具有读写权限
记得重启svn服务
2、创建版本库
svn import -m "new" d:\layer2 file:///d:/svnroot/test
3、客户端使用
更新、提交、显示日志、保存版本至、比较差异、清理、改名、重新定位
冲突解决方案:
当提交文件遇到冲突时,有两种可能的方法:
方法一、当冲突的内容不在同一行时,可以先更新文件,让系统自动合并,然后再提交。
方法二、复制冲突的文件(a.bak)、从显示日志中比较最新版本和本地副本之间的差异,然后商量出折中方案,然后修改a.bak,删除那个冲突的文件,然后再更新这个文件,最后删除这个更新下来的文件,然后把a.bak改名,最后提交。
技术团队角色划分:
1、开发人员(程序员)
2、需求分析人员:在开发人员和客户之间做桥梁
1、配置服务器
安装SubVersion ,svn-1.4.5-setup.exe
创建电子仓库(SVN数据库) svnadmin create E:\Example\SVNROOT\TEST(如果用svn管理多个数据仓库,建议都放在svnroot下,需要提前建立SVNROOT目录)
将SVNService.exe拷贝到SubVersion的安装目录中的\bin目录, 保证SVNService.exe和svnserve.exe在同一目录。( SubVersion本身是由命令行启动的, 它不能像Windows 服务一样随Windows启动,需要借SVNService来包装成Windows 服务)
安装服务: SVNService -install -d -r <svnroot>, <svnroot>代表SubVersion服务的数据仓库目录(如果执行不成功,可以保存成bat文件,以管理员身份运行)。如果存在多个仓库,这里的svnroot指根目录
启动服务,自动运行
在电子仓库的conf目录中有三个文件,是关于访问权限控制的。分别作如下修改:
svnserve.conf
anon-access = none 不允许匿名访问
auth-access = write 授权访问赋予写权限
password-db = passwd 指定用户口令文件
authz-db = authz 指定用户权限文件
authz
[/]
user1 = rw 用户user1具有读写权限
user2 = rw 用户user2具有读写权限
* = 其他帐户没有权限
passwd 设置用户的口令
[users]
user1 = 123
user2 = 123
修改以上内容后,建立了user1、user2两个svn用户,口令都是123,具有读写权限
记得重启svn服务
2、创建版本库
svn import -m "new" d:\layer2 file:///d:/svnroot/test
3、客户端使用
更新、提交、显示日志、保存版本至、比较差异、清理、改名、重新定位
冲突解决方案:
当提交文件遇到冲突时,有两种可能的方法:
方法一、当冲突的内容不在同一行时,可以先更新文件,让系统自动合并,然后再提交。
方法二、复制冲突的文件(a.bak)、从显示日志中比较最新版本和本地副本之间的差异,然后商量出折中方案,然后修改a.bak,删除那个冲突的文件,然后再更新这个文件,最后删除这个更新下来的文件,然后把a.bak改名,最后提交。
技术团队角色划分:
1、开发人员(程序员)
2、需求分析人员:在开发人员和客户之间做桥梁
3、测试人员
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)