svn commit 用法

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

猜你喜欢

转载自blog.csdn.net/xiaowang_lj/article/details/131488786