提出问题:
产品开发迭代快,而前端为项目中的关键路径,在本迭代还未结束
期间,通常是测试期间已经开始下个迭代任务的开发;
这些代码版本如何控制?
多人协作时如何控制?
发布时如何进行合并?
Hotfix时如何做回滚?
解决方案:多分支开发系统
服务端环境:SVN
客户端软件:小乌龟TortoiseSvn
分支、主干和标记:用于并行开发,当分支的功能完成后就可以合并到主干,而
利用标记就可以在任何时间创建一个发布版本。
注意,你可以建多个分支,但主干只能有一个
创建分支步骤:
1、首先,你应该在本地有一个需要创建分支的工作目录,如:E:\test
2、点击右键选中这个文件夹,选中TortoiseSVN->分支/标记(branches/tag)
接下来,会弹出对话框,要求你添加创建分支或标记的目标路径
三个版本选项:
最新版本 – 直接从版本库中最新创建,创建过程最快。
版本库中指定的版本号 – 可以通过指定的版本号进行创建。这种创建方式不需要从你的工作目录拷贝数据,速度较快。
工作副本 – 这种方式会依据当前工作拷贝的版本状况(无论是你做了本地的修改,或是将其中的某些文件更新到了一个历史版本)来创建分支拷贝。这种创建方式会根据工作副本中每个文件的版本情况来决定是否要从工作拷贝向版本库中传输数据。
切换工作副本至分支/标记:
如果选中这个选项,顾名思义你用来创建分支或标记的工作拷贝就会自动切换到指定创建的版本或标记的。当然你可以通过Switch(重新定位)和Checkout(检出)功能来完成切换的工作。
版本切换:找到工作目录,点击右键展开菜单,点击switch(切换)
在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支,如何进行合并?
分支和合并的工作是非常复杂的,Subversion Book的分支与合并章节有各种情况的详细描述。
合并的基础是在版本库产生两个差异列表,然后对你的工作副本应用这些差异。举例说明:如果你要合并版本N的修改,那么你要与版本N-1比较,TortoiseSVN自动为你做这个调整。
通常来说,在没有修改的工作副本上执行合并是一个好想法。如果你在工作副本上做了修改,请先提交。如果合并
没有按照你的想法执行,你可能需要撤销这些修改,命令恢复 会丢弃包含你执行合并之前的所有修改。
下面看一个用例来说明:
合并指定版本范围
- 首先切换至主干
- 然后选择merge
- 弹出对话框后选择merge revision range
- 弹出对话框选择一个需要合并的分支
- 选择一个或多个需要合并的标记
- 最后设置合并选项,建议可使用test merge测试合并结果
在合并选项中可以指定行结束和空白的处理方式
注意:
合并到主干/分支后一定要提交commit
然后就可以通过构建和部署工具进行资源分发了
多分支开发满足了特定情况下时实现前端的最大并行开发~
如何回滚
SVN不会丢弃任何数据,包括删除操作,所有的版本都会以中间版本的形式存在。
如果你真的需要彻底删除它,需要使用一些极端的手段。
这样你可以使用日志对话框(Log)在任何需要的时候回归到任一版本。
如果想要把以前的某个版本变成最新版本,右键点击选中的版本(范围),然后选择右键菜单 → 恢复到此版本。就能够撤销被选中版本后面所有的变更。
如果想要恢复一个版本范围,选中想要恢复的第一个版本,按住shift键,然后选中想要恢复的最后一个版本。注意,当恢复多个版本的时候,这些版本必须在列表中是连续的。用鼠标右键点击选中的版本(段),然后选择右键菜单 → 恢复这些版本的变更。
- 使用合并功能同样可以撤消较大范围的变更。
- 输入你需要合并的url和版本号进行合并
- 最后记得提交变更!
分享到:
相关推荐
微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。 ...
- 强调前后端并行开发,提高效率。 2. **前后端分离**: - 通过Node层实现功能,如数据代理、路由和服务端渲染,降低了前后端研发之间的沟通成本。 - 前端开发自成体系,有利于工程化的实施,确保快速且高效的...
模块化的前端资源管理系统在这一流程中扮演了至关重要的角色,它帮助团队管理代码库的复杂性,并支持快速迭代和并行开发。 总之,多位前端架构设计的知识点涵盖了架构模式、资源加载和管理、模块化开发以及代码部署...
【前端开发面试题详解】 前端开发面试题涵盖了各种技术领域,包括HTML、CSS、JavaScript、浏览器行为、性能优化以及开发工具的使用。以下是对部分面试题的详细解答: 1. **语义化的HTML**:语义化HTML意味着使用...
Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发...
通过将应用拆分为多个可独立部署的子应用,微前端允许团队并行开发,提高开发效率。关键技术包括single-spa、qiankun等,理解它们的工作原理和实现方式是现代前端架构设计的关键。 Serverless是一种新型的云计算...
VS Code,全称为Visual Studio Code,是由微软公司开发的一款免费且开源的源代码编辑器,广泛应用于前端开发领域。这款强大的工具支持多种编程语言,包括HTML、CSS、JavaScript以及各类前端框架,如React、Vue、...
在IT行业中,前端开发是构建网页和应用程序用户界面的关键部分,而"前端开源库-posix"是一个专门针对前端开发的开源库,旨在为Web应用提供类似于POSIX(可移植操作系统接口)的系统调用功能。POSIX是一组标准,定义...
在前端开发领域,Lambda表达式和函数式编程思想正逐渐成为主流,这主要得益于它们能够带来更简洁、可维护的代码。"Lambda in Canvas"这个主题深入探讨了如何将函数式编程的概念应用于Canvas画布的交互与动画实现,...
1、一个支持增加节点、删除节点、修改节点的流程图,增加节点可选择并行、串行、会签、下一节点并行等状态; 2、支持设置条件、删除条件、查看条件; 3、可直观显示已完成的节点和不可查看的节点,真正做到了流程...
这种架构提高了开发效率,使前后端可以并行开发,并且有利于维护和扩展。 3. 浏览器兼容性:前端开发者需要关注不同浏览器之间的差异,如CSS样式、JavaScript支持等。使用polyfills、Babel转译、Autoprefixer等工具...
2. **并行开发**:不同的子应用可以独立开发、测试和部署,加快迭代速度。 3. **隔离性**:每个子应用有自己的运行时环境,降低了组件间的依赖,减少了相互影响。 4. **渐进式集成**:新功能或模块可以通过添加新的...
微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的单体...同时,它们也可以在共享组件的同时进行并行开发——这些组件可以通过 NPM 或者 Git Tag、Git Submodule 来管理。
在3D图形场景下的前端开发是一个复杂而富有挑战性的领域,涉及到多种技术和工具的融合。朱毅,曾在微博和贝壳担任前端开发工程师,有着丰富的经验,特别是在3D模型展示方面。他的工作包括微博PC主站的建设、移动站的...
开发效率的提高:前后端可以并行开发,减少了开发的依赖和等待时间,提高了开发效率。 可维护性和可扩展性:前后端分离使得代码结构更清晰,各自的职责更明确,便于维护和扩展。 更好的团队协作:前端和后端可以...
4. 团队协作的加强:前端工程化通过模块化开发和版本控制系统,使团队成员能够并行工作,同时便于版本管理、代码托管和团队内部协作。 5. 项目可维护性的提高:组件化开发和模块管理工具使代码更加模块化,从而降低...
在前端开发领域,开源库是开发者们不可或缺的工具,它们为快速构建高效、稳定的应用提供了大量的功能组件和框架。"前端开源库-list"这个主题恰好聚焦于这些资源,特别是那些专注于提供快速、纯功能不变列表的库。在...
【前端程序员简历模板】是为求职者提供的一种专业展示自身技能和经验的工具,尤其适合那些专注于前端开发领域的程序员。这份简历突出了求职者在编程、Web开发、移动应用开发以及数据库管理方面的专长。 首先,这位...
DVCS适合分布式开发环境,支持多分支并行开发。 DVCS相较于CVCS的优势在于: - 分布式的工作模式,便于并行开发。 - 对公共服务器的依赖更少,单点故障风险低。 - 速度更快,操作更灵活,尤其在分支和标签管理方面...