svn commit 用法

简介: svn commit 用法

使用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文件等,不忽略任何文件)添加到版本控制中


目录
相关文章
【IDEA用法】IDEA新建文件自动加入SVN,删除文件自动从SVN中删除
【IDEA用法】IDEA新建文件自动加入SVN,删除文件自动从SVN中删除
607 0
|
6月前
svn: E175002: Commit failed (details follow): svn: E175002: Unexpected HTTP status 502Bad Gateway on
svn: E175002: Commit failed (details follow): svn: E175002: Unexpected HTTP status 502Bad Gateway on
159 1
【异常】svn: E200009: Commit failed (details follow)/both sides of the move must be committed together的解决办法
svn: E200009: Commit failed (details follow)/both sides of the move must be committed together的解决办法
689 0
SVN没有update和commit
SVN没有update和commit
469 0
SVN没有update和commit
|
Shell 测试技术 Python
Python 一键commit文件、目录到SVN服务器
Python 一键commit文件、目录到SVN服务器
289 0
|
Android开发
【转】svn:is not under version control and is not part of the commit, yet its child解决办法
来自:http://blog.csdn.net/lufeng20/article/details/7641093    在把写好的代码提交到svn上面时,遇到了一个错误如下: svn: Commit failed (details follow): svn: 'D:\eclipse\Statu...
1388 0
|
数据安全/隐私保护
SVN客户端的用法
SVN客户端的用法
161 0
SVN客户端的用法
【SVN】is not known to exist in the repository and is not part of the commit, yet its child
【SVN】is not known to exist in the repository and is not part of the commit, yet its child
916 0
【SVN】is not known to exist in the repository and is not part of the commit, yet its child
SVN中tag branch trunk用法详解
SVN中tag branch trunk用法详解
201 0
|
算法 Apache 数据安全/隐私保护