转载   原文:https://blog.csdn.net/qq_39790633/article/details/103700391

使用svn进行代码的提交有两种方法:一种是通过TortoiseSVN客户端界面进行提交,另一种是通过svn commit指令提交。

方法一:通过TortoiseSVN客户端界面提交代码

  • 在需要提交代码的目录下右键,点击SVN Commit…

  • 此时会进入SVN的Commit界面,在[Message]处填写需要备注的信息,在Changes made区域选中需要提交的文件,最后点击OK即可提交。提交后会弹出一个框提示是否提交成功。


  • 提交完成后若想查看是否提交成功,可以在提交目录下右键 -> TortoisesSVN -> show log 查看代码提交记录,有提交记录即为提交成功。


方法二:通过 svn commit命令提交

svn commit  path -m "Message"
  • path:要提交的文件路径
  • “Message”:提交文件说明

具体提交过程如下:

  • 切换到要提交文件路径,然后执行 svn status(查看本地文件未提交的变更)


从上图可以看出本地的MainActivity.java文件和main.xml文件相对于服务器中的版本是修改过的。

而第一行的png图片在服务器中的版本是没有的,状态显示为?则为未加到版本控制中的意思。如果此时svn commit,main.xml和MainActivity.java文件会上传,而png图片则不会上传。

  • 如果png图片也想要上传,首先要将png图片加入版本库:svn add path1 path2(多个路径)

    svn add path就是将path下的文件加入到本地的版本库中,此时再次执行svn status的话会看到刚才svn add的文件前面的标记不是?而是A了,表示已经成功把此文件添加到版本控制中。

  • 最后一步提交文件:svn commit path1 path2 -m"Message"(可以提交多个路径的文件)


执行后会显示出结果,如上图,Adding就是已添加,Sending就是已替换文件。

在完成提交之后,就可以通过 svn log 来查看提交日志信息。


可以看到刚才提交的741版本已经显示出来了。

:如果svn status后看到有的文件已经被自己修改,或者被自己手动纳入版本控制了,但是不想commit到服务器中的话可以使用svn revert(将本地文件恢复到服务器中的同名文件)

例子:

svn status查看状态 此时本地文件夹中有三个服务器中没有的文件


如果想把.project文件纳入svn版本控制,执行svn add .project,然后再svn status查看状态,.project已被纳入版本控制


但是如果不想把.project文件纳入版本控制了,那么可以执行 svn revert .project(回滚到服务器上最新的版本,如果需要整个文件夹回滚,则执行 svn revert -R path)


这样就可以恢复了,后面如果要提交的话再参考上面的方法一二进行操作。

扩展:svn add 相关指令

svn add path —— 把path路径下的文件/文件夹(里面的文件也包含)全部纳入版本控制

svn add folder --non-recursive —— 把文件夹folder纳入版本控制,但是folder文件夹里的文件不添加(non-revursive 不递归)

==svn add * == —— 把当前目录所以未添加到版本控制的文件全部添加进去 (如果有文件夹是non-revursive的则不添加该文件夹里的文件)

svm add * --force —— 把当前目录所以未添加到版本控制的文件全部添加进去(包括non-revursive的文件夹里的文件,包括和服务器中存在的相同的文件(将会覆盖))

svn add . --no-ignore --force —— 把当前目录下所以未添加的文件(包括.project文件等,不忽略任何文件)添加到版本控制中

svn——svn commit 用法相关推荐

  1. 改进的SVN的Commit权限控制

    源代码管理软件Subversion是继CVS后的又一个强力开源软件,现最新版本为1.2,开始支持lock模式了.(更坚定了我 使用它的决心)而当我们使用它的svnserve提供服务时,要实现目录级的验 ...

  2. svn ignore 的用法

    主要就这么几句: cd Application svn delete Runtime/* svn ci -m 'delete Runtime' svn propset svn:ignore'*' Ru ...

  3. 使用SVN的commit上传如何全选文件

    使用SVN的commit上传如何全选文件 commit文件太多,全选在文件上面一栏,见下图 不要一个个点啦!

  4. svn提示svn: E170001: Commit failed (details follow):解决

    设置好防火墙和阿里云服务器控制台防火墙之后还会出现 svn: E170001: Commit failed (details follow): svn: E170001: Authorization ...

  5. svn: Aborting commit: '/aaa/bbb/xxxxxxxx' remains in conflict解决方法

    $ svn commit -m "zzzzzzzz" svn: Commit failed (details follow): svn: Aborting commit: '/aa ...

  6. 解决svn: E160028: Commit failed (details follow): svn is out of date问题

    1 问题 解决svn: E160028: Commit failed (details follow): svn is out of date问题 2 分析 项目太久未同步了 3 解决问题 更新项目再 ...

  7. SVN Aborting commit: ‘XXXXXXXX’remains in confl...

    2019独角兽企业重金招聘Python工程师标准>>> 今天在提交项目文件到本地SVN时提示错误如下: 过期:"global.php"在事务"21-1& ...

  8. 什么是SVN?SVN的简介安装和使用

    目录 1.SVN 1.1什么是SVN 1.2SVN的作用 1.3常见的版本控制工具 1.4SVN的使用 1.4.1SVN基本使用原理 ​1.4.2SVN使用模式 1.4.3SVN工作方式 1.5SVN ...

  9. Cannot checkout from svn: svn: E155000: ‘XXX‘ is alrea

    Cannot checkout from svn: svn: E155000: 'XXX' is alrea 原因1:svn地址错误 输入的svn地址不对,仔细检查一下 原因2:svn 冲突 新建的这 ...

最新文章

  1. 如何区别一幅图像是否是黑白图像
  2. 【读书笔记】《写给大忙人看的Java SE 8》——Java8新特性总结
  3. 在datatable中,在指定位置插入列
  4. Android系统架构图
  5. mount --bind的用处
  6. Python自动化运维之高级函数
  7. ICLR 2020 | Bengio 一作论文:因果机制、元学习与模型泛化如何产生关联?
  8. 01.Elasticsearch安装
  9. limitBy过滤器是配合数组使用的,限制数组元素的个数,话不多说,来个小例子。...
  10. 不使用服务器控件的ASP.NET
  11. 技术人成长路径之我见
  12. linux常用指令(持续更新……)
  13. RabbitMQ消息幂等性之全局唯一ID
  14. rs485与modbus流程图_RS485通讯基础及通讯应用详解
  15. 飞机遭遇时空乱流离奇穿越到30年前
  16. 对接有道翻译api中英翻译软件
  17. ZOJ - 3939(日期规律)
  18. 怎么删除android系统自带软件,手机系统自带的那些软件不用却卸载不了,怎么办?...
  19. PC按键精灵读取txt文本出现乱码怎么办?按键精灵手机助手读取txt文本中文变问号怎么办?
  20. Spring AOP 标签形式及Around增强处理

热门文章

  1. Java基础(18)集合概述、Collection集合、List集合
  2. 联想台式计算机排行榜,2016最新联想台式电脑排行榜 销量前十款式推荐
  3. Spring boot 启动小问题:
  4. 扎克伯格他妹这么搞,我看也可以
  5. 物理层传输格式的用法,关于TF,TFS,TFC,TFCS,TFI,TFCI
  6. 记录一次关于JUnit的弱智错误
  7. Java中获取GBK编码汉字的拼音首字母(包括生僻字)
  8. 帝国CMS使用百度API提交工具,将当天新发表的内容提交给百度
  9. 如何将自己的网站主页,提交到百度,使其可以在百度搜索中
  10. 电商巨头阿里巴巴将区块链整合到知识产权保护系统中