美文网首页
SVN命令总结

SVN命令总结

作者: LINGSHOW | 来源:发表于2018-12-16 15:25 被阅读7次

公司用SVN管理项目代码,最近总结了SVN比较实用的命令,发篇博客跟大伙分享下,如有什么问题或者需要补充的,可以提出来一起探讨研究。

一、文件标识意思

A:add,新增
C:conflict,冲突
D:delete,删除
M:modify,本地已经修改
G:modify and merGed,本地文件修改并且和服务器的进行合并
U:update,从服务器更新
R:replace,从服务器替换
I:ignored,忽略
? :文件、目录或是符号链item不在版本控制之下
! :文件、目录或是符号链item在版本控制之下,但是已经丢失或者不完整,这可能因为使用非Subversion命令删除造成的,如果是一个目录,有可能是检出或是更新时的中断造成的,使用svn update可以重新从版本库获得文件或者目录,也可以使用svn revert file恢复原来的文件。
I :忽略文件、目录或是符号链 (svn status --no-ignore 可以查看到)
item不在版本控制下,Subversion已经配置好了会在svn add、svn import和svn status命令忽略这个文件,关于忽略文件,见“svn:ignore”一节。注意,这个符号只会在使用svn status的参数--no-ignore时才会出现—否则这个文件会被忽略且不会显示!

注意:
1、当双方都删除了内容,但是对方删除的比较少。小明提交,小黑Update,文件可能显示 G 状态,这时就双方讨论着来修改,不然小黑不理直接提交,可能会把小明需要的代码删除掉(小明在原来代码删除修改提交后,小黑Update,文件就会显示这种状态。新增代码则不会)
2、忘记有哪些冲突,请使用命令svn resolve查看:如果没有输出说明冲突已解决

二、命令说明

1、拉取项目

svn co 代码源路径

2、提交修改点

svn ci -m "修改说明"

3、更新远程代码到本地代码

svn up

4、忽略SVN全局文件

修改 /用户名/.subversion/config文件
打开 global 注释 ,并添加如下:
global-ignores = *.o *.lo *.la *.al .libs *.so .so.[0-9] *.pyc *.pyo *.rej .DS_Store *.xcuserstate *.xcworkspace .xcuserdatad .xcscmblueprint ~ ## .# ..swp

5、创建分支

svn cp -m "操作说明" 源分支链接 新分支链接路径

6、merge 主分支代码到其他分支

svn merge 代码源路径链接
例如:
svn merge https://github.com/IOS6/GCDXin

7、回滚代码到修改前的状态

svn revert -R .
svn revert --depth=infinity . ( . 代表当前文件夹) => 忽略整个文件夹的修改

8、合并分支到主干

进入主干目录执行:
svn merge --reintegrate 分支链接

9、删除分支

svn delete 分支地址 -m '操作描述'

10、查看路径下的文件目录

svn list 链接路径
例如:
svn list https://github.com/IOS6/GCDXin

11、查看当前代码库路径

svn info
svn info 文件路径

12、查看日志

12.1、查看项目日志
svn log
svn log -l 日志条数
svn log -l N -v => 查看每条日志提交详情

12.2、查看文件日志
svn log 文件路径
svn log -l N -v 文件路径

13、使用以下语句进行版本回退

svn update -r 版本号
比如:去往版本号为14119的版本:svn update -r 14119

在替换过程中,有可能会出现冲突,svn会给出处理的快捷键: 冲突提示.png

选择“tf”,全部以服务器的代码为准。
这样就可以回退到相应的版本了。

14、解决完冲突需要标记为已解决

14.1、命令:svn resolve --accept working XXX.m
14.2、xcode12 之前,可以在xcode文件右击标记

15、SVN 帮助

svn help <- 全部功能选项
svn help ci <- 具体功能的说明

16、比较差异

svn diff 文件名 (文件名是当前目录的相对路径)
svn diff -r 修正版本号m:修正版本号n 文件名
例子:
svn diff test.php<- 将修改的文件与基础版本比较
svn diff -r 200:201 test.php<- 对 修正版本号200 和 修正版本号201 比较差异

17、删除文件

svn delete svn://路径(目录或文件的全路径) -m “删除备注信息文本”

18、更新文件

svn update(up)
svn update -r 修正版本 文件名
svn update 文件名


参考文献:

https://blog.csdn.net/gsg8709/article/details/79435741

相关文章

网友评论

      本文标题:SVN命令总结

      本文链接:https://www.haomeiwen.com/subject/ztqxkqtx.html