• 1. Svn工具 使用 QM 组
  • 2. Svn是什么?版本管理控制系统 将文件存放在中心版本库里,这个版本库就像一个普通的文件服务器,但他可以记录每次文件和目录的修改情况。我们就可以据此将数据回复到以前的版本,并可以查看所有的更改细节。
  • 3. Svn是什么?网络管理和团队协作 版本库可以通过网络访问。用户可以在各自的空间里修改和管理同一组数据,可以促进团队协作。
  • 4. 是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。 工作模式如下: svn服务器(文件版本库) | (版 本 同 步) / | \ 开发者1 开发者2 开发者3 Svn是什么?
  • 5. SVN的配置个人秘钥建立和服务器端配置 - 首先由组长/经理向QM组提出邮件申请,经过经理邮件批准。 - QM为其制作一对秘钥(公钥、私钥) - QM在服务器端为其开通相关项目权限后,回复邮件完成,并将秘钥发送本人 - 本人收到秘钥后要良好保存,注意保密且勿丢失(更换机器、重装系统…)
  • 6. SVN的配置个人电脑端配置 - 首先安装svn软件 \\192.168.1.80\Public\軟件\系統安装\配置管理 TortoiseSVN-某版本.msi
  • 7. SVN的配置安装完成后配置指定私钥的位置 Explorer里右键=>TortoiseSVN=>Setting=>Network=>SSH Client中输入 TortoiseSVN安装目录\ bin\TortoisePlink.exe –i "私钥所在的位置",例如: C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -i “C:\key\sh_1_60\id_rsa.ppk"
  • 8. SVN 配置
  • 9. SVN config设定文件编辑 Explorer里右键=>TortoiseSVN=>Setting=>Network=>Subversion server file:点击Edit按钮=〉在文件末尾插入 enable-auto-props = yes *.pl = svn:eol-style=native;svn:executable *.pm = svn:eol-style=native;svn:executable *.cgi = svn:eol-style=native;svn:executable *.txt = svn:eol-style=native *.sql = svn:eol-style=native *.csv = svn:eol-style=native *.html = svn:eol-style=native *.htm = svn:eol-style=native *.tmpl = svn:eol-style=native *.sh = svn:eol-style=native;svn:executable *.conf = svn:eol-style=native
  • 10. SVN config
  • 11. Svn 日常使用 windows下的基本使用是比较简单的,掌握:checkout,add,delete,update,commit 操作即可
  • 12. checkoutExplorer里右键=>SVN Checkout=>输入路径 (例如:模块名为db_group) URL of repository中输入 svn+ssh://用户名@192.168.1.60/var/svnroot/模块名 例如: svn+ssh://fanwenbo@192.168.1.60/var/svnroot/db_group Checkout directory中输入 “本地文件夹”, 例如: E:\usr\svn_60\db_group
  • 13. Svn checkout
  • 14. Update 更新本地文件夹(服务器-〉本地) Commit 上传到服务器(本地-〉服务器) 注:要写注释(英文),否则不能上传成功Svn 日常使用
  • 15. 选中所要操作的文件/文件夹=>右键=>SVN… Svn 日常使用
  • 16. 基本命令在linux下客户端的使用是依靠命令行 需要掌握一些基本的命令: import Checkout update add delete Commit Status History Difference Tag Branch Merge branch ……
  • 17. import#svn svn import /tmp/project svn+ssh://var/svnroot/testproject -m "test project"
  • 18. checkout #svn svn checkout svn+ssh://homepage@hostname/var/svnroot/testproject
  • 19. update #svn svn update [filename]
  • 20. add #svn svn add filename
  • 21. delete #svn svn rm filename
  • 22. commit #svn svn commit filename -m "message"
  • 23. status #svn #check status svn status filename #display information svn info filename
  • 24. history #svn svn log filename svn blame filename
  • 25. difference #svn svn diff filename svn diff -r version1:version2 filename
  • 26. svn only#move svn move filename new_filename #copy svn copy filename new_filename #mkdir svn mkdir pathname #revert svn revert filename
  • 27. tag#svn svn copy svn+ssh://homepage@hostname/var/svnroot/testproject/main \ svn+ssh://homepage@hostname/var/svnroot/testproject/tag/tagname -m "test tag" #or, this need commit svn copy main tag/tagname svn commit -m "test tag"
  • 28. branch#svn. There is no defference between tag and branch in svn. svn copy svn+ssh://homepage@hostname/var/svnroot/testproject/main \ svn+ssh://homepage@hostname/var/svnroot/testproject/branch/branchname -m "test branch" #or, this need commit svn copy main branch/branchname svn commit -m "test branch"
  • 29. merge branch #svn svn merge -r start_branch_version:end_branch_version \ svn+ssh://homepage@hostname/var/svnroot/testproject/branch/branchname main #or svn merge -r start_branch_version:end_branch_version branch/branchname main
  • 30. 相关资料https://twiki.shang.adways.net/twiki/bin/view/Technique/新人学习计划 软件 svn https://twiki.shang.adways.net/twiki/bin/view/MPU/Experience-SVN
  • 31. 谢谢