姜博:SVN使用规范

SVN使用规范

1.提交必须写注释

清晰的提交注释有助于别人理解你所做的修改,出现问题时能够快速定位,也有助于项目经理把握开发进度。所以,在提交代码时,要填写明晰的标注,能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。

2.禁止提交未编译通过的代码

代码在提交之前,首先要确认自己能够在本地编译,保证主干永远是畅通的。如果引用了新的类库,确保相应的pom.xml文件也已提交。

  • 单元测试通过
  • 应用启动正常
3.不要提交自己不明白的代码

代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。

4.不要提交本地自动生成文件

eclipse会自动生成一些工程文件如.classpath,.settings等文件,以及项目编译生成的临时文件target, .class等等。提交了这样的文件后,别人在更新后就可能与本地的环境冲突从而影响大家的工作。通常在新建项目或模块时会设置相关的ignore属性,具体设置方法详见设置ignore,external属性

5.按功能模块整体提交,提交不要过于频繁

完成一个功能模块后,将该模块相关修改作为整体提交。不宜分离过于频繁提交,使功能上不同步,并无限增大svn版本号

6.提交后svn st检查是否有遗漏

提交后svn st检查下是否有冲突,有遗漏的代码

7.尽量使用命令提交

eclipse中的svn插件很便捷,但有时会存在漏提交,或多提交的问题,如总控的pom.xml在eclipse中看不到,易造成漏提交,尽量使用svn命令来提交。

  • 命令会用了,原理就知道了
8.慎用锁定功能

在项目中要慎用锁定的功能,在你锁定了一个文件之后别人就无法继续修改提交该文件,虽然可以减少冲突的发生率,但是可能会影响项目组中其他人员的工作。平时只有在编辑那些无法合并的文件(例如图片文件,flash文件等)时,才适当的采用锁定操作。

  • 如果你的需求开发跨度很大,建议每周合并一次主干

SVN使用技巧

常用命令

1.svn co [svn地址] [本地目录]:签出工作拷贝

svn co http://svn.alibaba-inc.com/repos/ali_cn/olps/rate/branches/20100817_xfc_DEV rate (【注】:自定义目录,本地目录)

2.svn st:查看工作拷贝状态

svn st
X       bundle/rpm/framework
M       quickconfig.sh
X       deploy/jboss_server
每行首字母的含义:
"!"表示:本地执行了"rm -rf",但是未执行"svn del"的状态。
"?"表示:本地新加了一个文件,但是未执行"svn add"的状态。
"A"表示:本地新加了一个文件,且执行了"svn add"的状态。
"X"表示:执行了"svn external"的状态。
"D"表示:本地执行了"rm -rf",且执行了"svn del"的状态。
"M"表示:本地修改了该文件时的状态。
"C"表示:冲突状态,是重点关注状态之一。

3.svn diff:比较两个版本拷贝的区别
比较本地文件与与拷贝版本的区别

svn diff web/com/alibaba/china/app/levit/expo/web/action/DeclareAction.java

结果中行首字母"-"表示本地版本,"+"表示工作拷贝版本
4.svn info:查看工作拷贝信息
通常用来查看当前拷贝的svn地址
5.svn revert:取消本地所做修改

$svn revert quickconfig.sh
Reverted 'quickconfig.sh'

6.svn log:查看提交日志信息
7.svn add:添加一个文件
8.svn cleanup:递归清理工作拷贝
9.svn ci: 提交工作拷贝

svn ci quickconfig.sh -m "标注"

10.svn update:更新本地拷贝
遇到工作拷贝已锁定的错误时,可以用该命令清除
11.最重要的------svn help:查看帮助

更多常用命令参见肖芳城【技术】svn命令小集

设置ignore,external属性

windows下使用乌龟设置的方法参见肖芳城【技术】svn命令小集#四、乌龟的使用

1.linux下命令方式

例:设置expo目录的ignore属性,忽略target, class, .classpath, .settings, .project
步骤:
1.svn propedit svn:ignore expo
2.这是出现一个vi编辑框,在里面加入要忽略的目录文件:
target
class
.classpath
.settings
.project
3.保存退出,会显示xxx的ignore属性被设置。可以用svn st查看那下效果。

2.eclipse插件方式

安装过subeclipse插件的可以通过插件设置属性
1.再需要设置的目录上右键->Team->Set Property


 
2.在弹出的对话框中设置属性


 
3.如果已经设置过相关属性,要做修改,可以在Team->Show Property中进行编辑


 

分支合并

1.创建新分支(现在该步骤在aone上完成)

svn cp 主干地址 新分支地址 -m "标注"

2.签出新分支

svn co 新分支地址 本地目录

3.检查旧版本版本号,在旧版本目录下执行

svn log --stop-on-copy

找到创建该旧分支时的版本号xxxx,通常是最小的那个
4.进入到新分支目录下执行合并操作

svn merge -r xxxx:HEAD 旧分支地址

5.使用svn st查看合并后的状态,查看是否存在冲突
6.冲突解决后,别忘了svn ci提交合并后的代码
参见分支的创建与合并

SVN的用法和注意事项 svn使用和注意事项 阅读详情

相关推荐

100kHz手持LCR表设计:高频阻抗测量与校准实战解析

阻抗测量是电子元件测试的基础,LCR表通过施加正弦激励并分析电压电流的幅值与相位,即可获取电容、电感、电阻的等效参数。在开关电源、无线充电等高频应用场景中,元件在100kHz下的ESR和阻抗特性尤为关键,传统10kHz手持仪表难以满足需求。本文从自动平衡桥原理出发,探讨如何将台式电桥的核心能力浓缩至手持设备,重点剖析高频寄生参数抑制、模拟链路设计、数字相敏检波算法及开路短路校准方法。通过实测数据验证,在100kHz频率下基本精度可达0.5%以内,为维修现场、产线抽检及硬件调试提供了可携带的精密测量方案。全文

weixin_33910191的博客 398

SVN使用及规范

一、安装 下载安装:TortoiseSVN_1.9.4.27285_x64.msi 安装完,右键就可以看到如下: 说明SVN已经安装成功了! 二、使用URL打开SVN 点击“TortoiseSVN”的“Repo-browser”,输入SVN路径,点击“OK”按钮,打开SVN 三、SVN命令及使用 1、基本命令: Checkout:把SVN仓库的代码下载到本地,比如你现在参与一个团队的项目,在你参与之前项目可能已经在运行或者技术主管也已经搭建好代码仓库,你可以通过checkout命令项目代码,获取相应的

R的博客 1963

【代码审计】RuoYi定时任务漏洞:从SQL注入到RCE的攻防演变

本文深入剖析了RuoYi框架定时任务模块从早期版本无校验到引入黑白名单机制,再到被组合利用实现RCE的完整漏洞演变过程。文章详细分析了SQL注入与定时任务功能结合导致的远程代码执行漏洞,并总结了代码审计与安全开发的核心要点,为开发者提供了重要的安全参考。

yellow的专栏 699

svn使用规范

开发相关1.每天至少获取一次所有相关代码,以降低代码冲突的概率。2.本地自动生成的文件不要提交到svn去。svn有个ignore的功能可以屏蔽特定文件。3.多提交,每次提交的时候内容少一点。4.不要提交不能通过编译的代码。结合多提交的原则,这里其实要求你把工作细分成很小的单元。有个小技巧是函数里面可以先throw new NotI...

weixin_30302609的博客 332

BERTopic安装指南:hdbscan依赖问题全解析(附解决方案)

本文详细解析了安装BERTopic时常见的hdbscan依赖报错问题,深入剖析了C++编译环境缺失、Python版本兼容性以及包管理渠道混用三大核心原因。针对Windows、macOS和Linux不同系统,提供了创建虚拟环境、使用conda安装预编译包、安装C++编译工具等具体解决方案,帮助用户顺利安装BERTopic并开始文本主题建模实践。

weixin_29061041的博客 214

PyCharm安装PyQt5及工具(Qt Designer、PyUIC、PyRcc)详细教程来了

Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的所有工具包,主要内容包括PyQt5、PyQt5-tools的依赖包安装和Qt Designer、PyUIC、PyRcc三个工具的设置。最后简单演示了PyQt5的调用方式及三个工具的使用方法。

Python966的博客 3万+

一篇文章带你搞定 SVN 的使用规范讲解及演示

文章目录一、SVN 目录规范二、分支与标记1. 分支或标记规范2. 上传到主目录3. 打分支或标记4. 主干与分支或标记的合并 一、SVN 目录规范 在visualSVN中创建仓库时,可以选择svn目录结构 Trunk 主干目录,此目录下的文件为基准文件 Branches 用于开发的分支目录 Tags 用于发布的版本目录 假设有一个项目OA,我们完成了1.0版本,这时就可以打一个tags 后续我们在OA项目上添加一个新的模块(及时通讯),我们就可以开一个分支,又有一个公司需要在我们OA基础上添加财务管

南淮北安的博客 1005

大模型的安全发展与安全治理

2022 年底,OpenAI 推出的 ChatGPT 在文本生成领域实现了重大突破,引领了大模型技术的发展方向,推动了各式各样的基座大模型及行业大模型的发展,并逐步向多模态和具身化方向迅速演进。显然,大模型展现出的强大能力为人工智能通用化揭开了序幕。然而,大模型技术的安全性也面临着生成内容的安全性、伦理道德等重大挑战。只有积极确保大模型的安全性,才能更有效地推动其持续发展,进而更好地应对大模型技术变革所带来的机遇与挑战。

qq_41432686的博客 2583

【图文详解】入职必备——SVN使用教程

相关视频:复杂代码合并_哔哩哔哩_bilibili

weixin_55076626的博客 6万+

C++新手也能搞定!Windows下Cesium-Native编译全流程(附依赖下载技巧)

本文为C++新手详细介绍了在Windows系统下编译Cesium-Native库的全流程。重点针对网络环境不佳的情况,提供了手动下载依赖库的实用技巧,并指导用户使用CMake配置、生成解决方案,最终完成编译与测试验证,帮助开发者成功构建这一处理3D地理空间数据的C++运行时库。

weixin_28839549的博客 381

使用 MATLAB/Simulink + Reinforcement Learning Toolbox 构建一个基于强化学习的永磁同步电机(PMSM)自适应控制仿真系统

随着人工智能(AI)技术的快速发展,强化学习(Reinforcement Learning, RL)在控制系统中的应用日益广泛。在电机控制领域,传统的PID控制虽然成熟稳定,但在面对非线性、时变、不确定负载等复杂工况时,其控制性能可能受限。而强化学习通过与环境的交互学习,能够实现在线自适应控制策略优化,显著提升系统的鲁棒性与响应速度。本教程将带你使用构建一个基于强化学习的永磁同步电机(PMSM)自适应控制仿真系统,实现从控制策略设计、环境建模、训练到仿真的全过程。当前转速(ω)

amy_mhd的博客 407

SVN提交备注规范

【代码】SVN提交备注规范。

yunfeather的博客 2178

AI人工智能代理工作流 AI Agent WorkFlow:在股票市场预测中的应用

AI人工智能代理工作流 AI Agent WorkFlow:在股票市场预测中的应用 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 关键词: AI Agent, W

AI天才研究院 859

版本控制之svn

SVN 1. SVN 1.1SVN基本概念 问题: 怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰? 复制-修改-合并方案(Subversion默认的模式) 在这种模型里,每一个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行 工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操 作,但是最终要靠人工去确...

CORN的博客 235

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SVN使用详细教程

SVN全称Subversion,是一个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为Apache软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。SVN是一个开放源代码的版本控制系统,管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。...

顺其自然~专栏 6131

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

svn强制提交注释规则及触发邮件通知

背景:公司的svn服务器上有很多的项目,很多时候,开发人员在提交代码的时候不填写注释或者随便填写,这不利于团队其他开发者了解code的变化,时间长了连自己也不清楚做了那些修改,出问题做代码回滚就更不知道该回滚到那个版本了,故很有必要强制按一定的规则注释。 这样做的原因:(1)规范提交备注,方便根据备注信息了解解决了那些jira中问题;(2)为随后自动生成发布报告做准备。 1、规则: 项目

xuyaqun的专栏 6051

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

SVN使用规范,细化规则杜绝项目代码异常

SVN使用规范 总则 开发人员所有项目开发相关的资料都必须上传项目SVN库。 提交操作都需认真核对相关文件确保不错提不漏提并详细填写提交内容注释。 开发人员需紧记个人账号密码,保证SVN使用安全。 自己的修改内容必须自己提交,不能委托他人。 SVN的资料不对除公司项目相关人员外公开。确实需要分发的,必须通过部门领导同意。泄露公司资料将追究相关法律责任。 细则 每天上班开始工作前更新相关代码,...

苛学加记事 379

SVN常用使用规范与实用技巧

本文系统梳理了SVN版本控制系统的使用规范与实用技巧。重点包括:1)标准目录结构规范(trunk/branches/tags);2)提交规范(原子提交、信息格式化);3)分支管理策略(功能开发与hotfix流程);4)冲突解决方法;5)权限安全建议。同时提供了实用命令速查表和常见误区避坑指南,帮助团队规范SVN使用,提升协作效率。通过遵循这些原则,即使在分布式版本控制系统盛行的今天,SVN仍能有效支撑团队开发需求。

张三的博客 819

SVN的使用

6、客户端:https://sourceforge.net/projects/tortoisesvn/files/svn——>svn://localhost或(ip地址)访问到相关数据仓库(如shop仓库)首先建立一个新的项目目录,在项目目录鼠标右键——>TortoiseSVN——>版本库浏览器。1、检出操作(checkout):建立连接,并第一将服务器的数据下载到本地。2、更新操作(update):之后将服务器的数据下载(更新)到本地。4、例如:svn地址:svn://192.168.1.1/shop。

weixin_45704570的博客 1872

SVN代码提交规范

weixin_43880379的博客 459

SVN详细配置与使用 ——一步步教会您使用

  项目管理在项目开发活动中起到非常重要的作用,而对于初学者来说学习有一定的难度,且不说如何使用,就是搭建过程恐怕也要费一般周折,介于此下面就通过图解的方式一步一步详细的教大家如何使用SVN,你只要耐心的一步步去实践就能掌握 目录: 一、SVN介绍 二、SVN服务器安装 三、SVN客户端安装 四、SVN服务配置 五、SVN客户使用 六、Eclipse SVN客户端插件安装 ...

weixin_33840661的博客 2648

git/svn 提交代码规范

feat - 新功能 feature fix - 修复 bug docs - 文档注释 style - 代码格式(不影响代码运行的变动) refactor - 重构、优化(既不增加新功能,也不是修复bug) perf - 性能优化 test - 增加测试 chore - 构建过程或辅助工具的变动 revert - 回退 build - 打包 ...

King Saj 737

SVN使用规范

SVN使用规范 1.提交必须写明注释 清晰的提交注释有助于别人理解你所做的修改,出现问题时能够快速定位,也有助于项目经理把握开发进度。所以,在提交代码时,要填写明晰的标注,能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。   2.禁止提交未编译通过的代码 代码在提交之前,首先要确认自己能够在本地编译,保证主干永远是畅通的。如果引用了新的文件

jiangqin115的专栏 1179

SVN学习笔记(1)

文章目录一、VisualSVN(服务端工具)下载与安装二、创建仓库、用户,组1.创建仓库2.创建用户3.创建组,并为组指定用户4.为仓库指定权限5.通过浏览器访问仓库三、客户端TortoiseSVN安装 一、VisualSVN(服务端工具)下载与安装 首先进入SubVersion官网 然后执行安装即可 完成安装 二、创建仓库、用户,组 1.创建仓库 2.创建用户 3.创...

超级无敌小胖头 701
上一篇: 肖芳城:svn命令小集
下一篇: 薛海丹:分支的创建与合并
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值