• 约 2 分钟

Subversion学习笔记

参考:https://www.tutorialspoint.com/svn/svn_branching.htm, https://www.runoob.com/svn/tortoisesvn-intro.html

Subversion介绍

开源版本控制系统

基本概念

  • 版本库(repository)
  • 主干(trunk)
    • 相当于git中的master/main
  • 标签(tags)
    • 可以给特定revision标记命名,方便识别和记忆
  • 分支(branches)
  • 工作副本(working copy)
    • 通过检出(checkout)操作获取仓库的一个副本,这个副本是私人的,别人无法访问
  • 提交变更(commit changes)
    • 将工作副本中的变更提交到repo中的操作。具有原子性,要么全部完成,要么完全没有执行,不会出现一般的变更

安装及配置

生命周期(工作流程)

  • 创建版本库
  • 检出(checkout)
  • 更新(update)
  • 执行变更
  • 检查变更
    • 在提交代码前应当对所作更改进行重审(review)。可以用status查看有变化的文件,用diff显示一个文件的详细修改地方
  • 修复错误
    • 如果对于某个文件的修改导致了错误或其他不满意的情况,可以用revert操作使其回到刚update时候的情况。revert操作可以指定一个、多个或者全部修改的文件
  • 修复冲突
    • 在合并(merge)操作时可能会出现冲突。用resolve操作检查并处理冲突
  • 执行变更
    • 在执行变更之前需要通过add操作将修改的文件添加到pending change list中

修复冲突操作流程

  • 查看冲突
    • update的时候如果出现冲突就会直接让你选操作,选择diff-full操作查看所有冲突
  • 推迟冲突(postpone)
    • 选择postpone操作会创建两个不同的版本
  • 解决冲突
    • 可以手动修改原文件以解决冲突
    • 然后通过resolve操作告诉VCS这个问题解决了

注意 由于参与的项目都没有分支和打标签的习惯,以下内容暂不学习

标签 //待学习

分支 //待学习

更多资源

林威
林威 咖味十足的软件工程师