pyhton 学习笔记:SVN 对GitHub进行版本控制

Trunk

SVN中的Trunk是放置稳定代码的主要环境,就好像一个汽车工厂,负责将成品的汽车零件组装在一起。
如何使用SVN中的trunk:

  • 除非你必须处理一些容易且能迅速解决的BUG,或者你必须添加一些无关逻辑的文件(比如媒体文件:图像,视频,CSS等等),否则永远不要在trunk直接做开发
  • 不要因为特殊的需求而去对先前的版本做太大的改变,而是意味着需要建立一个branch
  • 不要提交一些可能破坏trunk的内容,例如从branch合并

Branches

SVN中的branch就是从一个SVN主干(or branch)中分离出来一颗子树(内容与主干中的一样),然后对子树进行开发,等到开发完,且该子树版本相对稳定后,合并到主干中。也就是说:如果原来是从trunk中拷贝的,就应该回到trunk去,或者合并回它原来拷贝的父级branch。
如何使用SVN中的branches:

  • 如果你需要修改你的应用程序,或者为它开发一个新的特性,需要从trunk中创建一个新的branch,然后基于这个新的branch进行开发
  • 除非是因为必须从一个branch中创建一个新的子branch,否则新的branch必须从trunk创建
  • 当你创建了一个新branch,你应当立即切换过去。如果你没有这么做,那你为什么要在最初的地方创建这个分支呢?

Tags

SVN中的Tags。从表面上看,branches和tags其实没有什么差别,但是从概念上来说,它们有许多差别。其实一个tags就是:一个trunk或者一个branch修订版的命名“快照”。
如何使用SVN中的tags:

  • 作为一个开发者,永远不要切换至、取出,或者向一个tag提交任何内容:一个tag好比某种“照片”,并不是实实在在的东西,tags只可读,不可写
  • 在特殊或者需要特别注意的环境中,如:生产环境(production)、筹划环境(staging)、测试环境(testing)等等,只能从一个修复过的(fixed)tag中checkout和update,永远不要commit至一个tag。
    对于上述提及到的环境,可以创建如下的tags:“production”,“staging”,“testing”等等。你也可以根据软件版本、项目的成熟程度来命名tag:“1.0.3”,“stable”,“latest”等等。

trunk(主干) 、branches(分支)、tags(标签)的详细使用

  1. 首先先从SVN 上 将 trunk 中的项目 checkout 到本地。
  2. 右击本地中刚刚checkout下来的项目文件夹 --> TortoiseSVN --> Branch/Tag… -->
    创建branch
  3. SVN branches 下的自己的文件夹进行 checkout/update 操作 ,将分离出来的branch(自己负责的模块branch)checkout到自己本地,然后即可对该子树(branch)进行模块的开发 or bug的修复(期间只在自己checkout出来的子树上进行操作(update/commit),不可操作trunk)。
  4. 待开发/修复完成,且功能比较稳定后,即可将自己所开发完的模块 合并 到SVN上的trunk中。
    • 右击本地 trunk 中的项目文件夹 --> TortoiseSVN --> Merge… -->
      合并到trunk
      合并到trunk
      合并到trunk
  5. Merge 完成后,即将自己所开发的代码合并到了本地trunk 中,但此时 svn 上的 trunk 并没有合并,所以需要手动 commit 本地 trunk中的项目到svn
  6. 到此,项目中经常使用的操作基本上已经完成,对于 tag 的使用,其实和 branch 一样,用来阶段性的存储项目稳定版本,以便于修复后期项目发布后产生的BUG。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值