当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 1、签出代码#svn co path2、添加文件#svn add xxx将xxx文件或目录添加到svn库中。3、删除文件#svn delete xxx将xxx文件或目录从svn库中删除4、修改文件#svn move xxx yyy将

 1、签出代码

#svn co path

2、添加文件

#svn add xxx

将xxx文件或目录添加到svn库中。

3、删除文件

#svn delete xxx

将xxx文件或目录从svn库中删除

4、修改文件

#svn move xxx yyy

将xxx文件重命名为yyy,类似于Linux的mv命令。

5、检查修改

#svn status

检查修改了哪些文件。

6、查看差异

#svn diff

列出修改的明细。

#svn diff -r 3

同具体的版本进行diff

#svn diff -r 2:3

比较具体的两个版本之间的diff

7、查看日志

#svn log

查看历史日志信息。

8、撤销修改

#svn revert xxx

撤销修改,恢复到未改变的本地工作副本。

9、移除冲突

#svn resolved xxx

移除冲突,但并不解决冲突。

10、提交代码

#svn ci -m "message" xxx

将xxx文件提交到svn库。

12、更新版本

#svn update -r xxx path

将代码更新到xxx版本,如果update后面什么都没有,则将当前目录更新到最新版本。

13、分支与合并

(1)创建分支

#svn copy trunk branches/xxx -m "message"

从trunk创建一个分支branch,这样就可以checkout branch分支来开发了。

需要注意的是:最好将branch与trunk放在同一层级,否则,容易引起混乱。

(2)分支合到主干

先用svn st查看branch分支没有任何本地修改,即代码都提交到svn了。

再checkout一份trunk代码到本地,并切换cd到trunk目录下,执行如下命令来将branch分支上的改动merge到trunk:

#svn merge http://.../branches/xxx

如果出现merge冲突则进行解决,如下查看冲突文件:

#svn st|grep ^C

解决冲突后,执行svn ci提交变动到svn。

当然也可以merge指定branch上的某些版本合并到trunk:

#svn merge http://.../branches/xxx -r 150:HEAD

上面命令将branch中从版本150到当前版本的所有改动都合并到trunk中。

合并完后,可以用如下命令来查看merge情况:

#svn mergeinfo http://.../branches/xxx

执行上面命令可以查看当前branch中有哪些改动已经合并到trunk中了。

#svn mergeinfo http://.../branches/xxx --show-revs eligible

执行上面命令可以查看branch中哪些改动还未合并。

(3)主干合到分支

主干合并到分支的过程同上,具体如下:

#svn co http://.../branches/xxx

#svn merge http://.../trunk -r 150:160

#svn st|grep ^C

#svn ci -m "merge trunk to branch"

#svn mergeinfo http://.../trunk

#svn mergeinfo http://.../trunk --show-revs eligible

14、版本回退

将代码回退到某一个版本的方法有2种:

(1)svn merge

#svn up

先将本地代码update到最新版本,比如:20。

#svn log

查看历史版本,找出要恢复的版本,比如:10(svn版本号在查看的时候会是rxxx,但用的时候要去掉r)。

#svn diff -r 10:20 代码目录

如果有必要的话,可以用上面命令来查看待恢复版本与当前版本的差异。

#svn merge -r 20:10 代码目录

回滚版本即反向合并,注意上面版本号之间的顺序,上面命令将版本r20回退到r10。

如果需要从当前最新版本回退到xxx版本,还可以如下:

#svn merge -r rHEAD:xxx http://.../trunk

上面的地址是待回退分支,操作完成后,本地的working copy会更新为trunk的xxx版本的代码。

#svn diff -r 10 xxx.cpp

如果必要可以用如上命令来查看回退后文件差异,如果有则手动修改之。

#svn ci -m "roll back to r10" 代码目录

如果没有差异,则需要将代码提交到svn,否则回滚不会生效,提交后会在svn库中生成新的版本号,比如这里会是:r20。

(2)svn up

还可以如下来回退版本:

#svn up

#svn up -r 10

#svn ci -m "roll back to r10" 代码目录

15、创建tags

#svn mkdir tags

#svn copy trunk/ tags/project_1.0.0

执行上面命令将备份版本copy到tags。

#svn ci -m "add project_1.0.0 to tags"

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

阿联酋迪拜2025年8月26日 /美通社/ -- 纳斯达克上市公司Robo.ai Inc.今日正式宣布完成品牌焕新升级,并于8月26日正式启用全新纳斯达克股票代码"...

关键字: AI 人工智能 代码 智能科技

CPU亲和度通过限制进程或线程可以运行的CPU核心集合,使得它们只能在指定的CPU核心上执行。这可以减少CPU缓存的失效次数,提高缓存命中率,从而提升系统性能。

关键字: Linux 嵌入式

北京2025年8月13日 /美通社/ -- 近日,北京积算科技有限公司(以下简称"积算科技")推出一站式AlphaFold3在线算力服务,现已开放免费使用。其内置优化后的AlphaFold3模型,支持...

关键字: ALPHA 代码 图形化 蛋白质

在Linux系统性能优化中,内存管理与网络连接处理是两大核心领域。vm.swappiness与net.core.somaxconn作为关键内核参数,直接影响系统在高负载场景下的稳定性与响应速度。本文通过实战案例解析这两个...

关键字: Linux 内存管理

上海2025年8月5日 /美通社/ -- 2025年7月30日,上海"2025思旗奖(AIflag Awards)"颁奖盛典上,FESCO Adecco外企德科上海公司凭借在人力资源管理与A...

关键字: ECC AI AD BSP

对于LLM,我使用b谷歌Gemini的免费层,所以唯一的成本是n8n托管。在使用了n8n Cloud的免费积分后,我决定将其托管在Railway上(5美元/月)。然而,由于n8n是开源的,您可以在自己的服务器上托管它,而...

关键字: 人工智能 n8n Linux

北京2025年7月21日 /美通社/ -- 浪潮信息宣布元脑企智一体机已率先完成对Kimi K2 万亿参数大模型的适配支持,并实现单用户70 tokens/s的流畅输出速度,为企业客户高效部署应用大模型提供高处...

关键字: 模型 AGENT TOKEN 代码

在Linux系统管理中,权限控制是安全运维的核心。本文通过解析/etc/sudoers文件配置与组策略的深度应用,结合某金融企业生产环境案例(成功拦截98.7%的非法提权尝试),揭示精细化权限管理的关键技术点,包括命令别...

关键字: Linux 用户权限 sudoers文件

Linux内核中的信号量(Semaphore)是一种用于资源管理的同步原语,它允许多个进程或线程对共享资源进行访问控制。信号量的主要作用是限制对共享资源的并发访问数量,从而防止系统过载和数据不一致的问题。

关键字: Linux 嵌入式

在云计算与容器化技术蓬勃发展的今天,Linux网络命名空间(Network Namespace)已成为构建轻量级虚拟网络的核心组件。某头部互联网企业通过命名空间技术将测试环境资源消耗降低75%,故障隔离效率提升90%。本...

关键字: Linux 云计算
关闭