linux下svn常用命令集锦

svn命令介绍 svn command reference

svn ci提交代码及注释[ci]

svn ci /home/doris/Test.java -F /home/comment.txt
svn ci /home/doris/Test.java -m "This is my commit comments"

svn log查看文件

  • 查看指定文件的指定版本svn cat /home/doris/Test.java-r 7368
  • 查看特定的某两个版本之间的信息,可以使用svn log -r r1:r2
  • 如果只想查看某一个文件的版本修改信息,可以使用svn log Test.java
  • 如果想查看某一个文件最近十条log,可以使用svn log Test.java -l10
  • 如果希望得到当前目录的信息要加-v svn log -v -l10
  • 如果希望某个版本详细的修改记录 svn log -r7666 -v

svn diff比较文件

  • svn diff; #什么都不加,会坚持本地代码和缓存在本地.svn目录下的信息的不同;
  • svn diff -r 3; #比较你的本地代码和版本号为3的所有文件的不同;
  • svn diff -r 3 text.c; #比较你的本地代码和版本号为3的text.c文件的不同;
  • svn diff -r 5:6; #比较版本5和版本6之间所有文件的不同;
  • svn diff -r 5:6 text.c; #比较版本5和版本6之间的text.c文件的变化。

svn merge合并文件

  • 可以参考这篇非常不错的merge博客

  • 将某个目录从trunk merge到branch(在branch目录执行:merge from trunk)

    pwd
    ~/branch/project/testdirectory
    svn merge ~/trunk/project/testdirectory
    --- Merging r9625 through r9626 into '.':
    G    ***.java
    
  • 将某个版本的目录merge到trunk对应的目录

    svn merge ~/branch/project@96256 ~/branch/project/@96257 ~/trunk/project/ #三个参数 分支的起始版本,分支的结束版本,要merge的目标
    

svn revert撤销修改

svn revert只能撤销本地的修改,上传到服务器上的就没办法了.需要通过svn merge命令做真正的revert.

  • Assuming you want to revert from current HEAD (last commited) version to revision 268:

    cd folder
    svn up
    svn merge -r HEAD:268 .
    

    Then resolve any conflicts manually (there should be nothing if there is no local change) and:

    svn commit "- reverted to revision 268"
    
  • To revert single change (e.g. made in revision 666):

    cd folder
    svn merge -c -666 .
    
  • To revert local changes (not committed yet):

    cd folder
    svn revert -R .
    

你可能感兴趣的:(linux下svn常用命令集锦)