淄博网站排名优化报价,动画设计考研,东莞市住房和城乡建设网官网,企业门户网站的主要技术指标在本篇文章中, 我将会详细说明我是如何应用SVN trunk(树干)、branches(分支)和tags(标记)。这种方法同样被称为“branch always”#xff0c;两者非常接近。可能我所介绍的并不是最好的方法#xff0c;但是它会给新手一些解释说明#xff0c;告诉他们trunk、branches和tags是…在本篇文章中, 我将会详细说明我是如何应用SVN trunk(树干)、branches(分支)和tags(标记)。这种方法同样被称为“branch always”两者非常接近。可能我所介绍的并不是最好的方法但是它会给新手一些解释说明告诉他们trunk、branches和tags是什么并且该如何去应用它们。 当然如果本文有些要点需要澄清/确认亦或者有一些错误的观点还请你评论自由发表自己的观点。 ——简单的对比 SVN的工作机制在某种程度上就像一颗正在生长的树 一颗有树干和许多分支的树分支从树干生长出来并且细的分支从相对较粗的树干中长出一棵树可以只有树干没有分支但是这种情况不会持续很久随着树的成长肯定会有分支啦^^一颗没有树干但是有很多分支的树看起来更像是地板上的一捆树枝如果树干患病了最终分支也会受到影响然后整棵树就会死亡如果分支患病了你可以剪掉它然后其他分支还会生长出来的哦如果分支生长太快了对于树干它可能会非常沉重最后整棵树会垮塌掉当你感觉你的树、树干或者是分支看起来很漂亮的时候你可以给它照张相这样就就可以记得它在那时是多么的赞。——Trunk Trunk是放置稳定代码的主要环境就好像一个汽车工厂负责将成品的汽车零件组装在一起。 以下内容将告诉你如何使用SVN trunk 除非你必须处理一些容易且能迅速解决的BUG或者你必须添加一些无关逻辑的文件比如媒体文件图像视频CSS等等否则永远不要在trunk直接做开发 不要因为特殊的需求而去对先前的版本做太大的改变如何相关的情况都意味着需要建立一个branch如下所述 不要提交一些可能破坏trunk的内容例如从branch合并 如果你在某些时候偶然间破坏了trunkbring some cake the next day (”with great responsibilities come… huge cakes”) ——Branches 一个branch就是从一个SVN仓库中的子树所作的一份普通拷贝。通常情况它的工作类似与UNIX系统上的符号链接但是你一旦在一个SVN branch里修改了一些文件并且这些被修改的文件从拷贝过来的源文件独立发展就不能这么认为了。当一个branch完成了并且认为它足够稳定的时候它必须合并回它原来的拷贝的地方也就是说如果原来是从trunk中拷贝的就应该回到trunk去或者合并回它原来拷贝的父级branch。 以下内容将告诉你如何使用SVN branches 如果你需要修改你的应用程序或者为它开发一个新的特性请从trunk中创建一个新的branch然后基于这个新的分支进行开发 除非是因为必须从一个branch中创建一个新的子branch否则新的branch必须从trunk创建 当你创建了一个新branch你应当立即切换过去。如果你没有这么做那你为什么要在最初的地方创建这个分支呢 ——Tags 从表面上看SVN branches和SVN tags没有什么差别但是从概念上来说它们有许多差别。其实一个SVN tags就是上文所述的“为这棵树照张相”一个trunk或者一个branch修订版的命名快照。 以下内容将告诉你如何使用SVN tags 作为一个开发者永远不要切换至、取出或者向一个SVN tag提交任何内容一个tag好比某种“照片”并不是实实在在的东西tags只可读不可写。 在特殊或者需要特别注意的环境中如生产环境production、staging、测试环境testing等等只能从一个修复过的fixedtag中checkout和update永远不要commit至一个tag。 对于上述提及到的环境可以创建如下的tags“production”“staging”“testing”等等。你也可以根据软件版本、项目的成熟程度来命名tag“1.0.3”“stable”“latest”等等。 当trunk已经稳定并且可以对外发布也要相应地重新创建tags然后再更新相关的环境production, staging, etc ——工作流样例 假设你必须添加了一个特性至一个项目且这个项目是受版本控制的你差不多需要完成如下几个步骤 使用SVN checkout或者SVN switch从这个项目的trunk获得一个新的工作拷贝branch 使用SVN切换至新的branch 完成新特性的开发当然要做足够的测试包括在开始编码前 一旦这个特性完成并且稳定已提交并经过你的同事们确认切换至trunk 合并你的分支至你的工作拷贝trunk并且解决一系列的冲突 重新检查合并后的代码 如果可能的话麻烦你的同事对你所编写、更改的代码进行一次复查review 提交合并后的工作拷贝至trunk 如果某些部署需要特殊的环境生成环境等等请更新相关的tag至你刚刚提交到trunk的修订版本 使用SVN update部署至相关环境 转载于:https://www.cnblogs.com/dongblog/p/4013329.html