IMZRH的日志

努力成为一个有用的人

导航

Pragmatic Version Control Using Subversion

Posted on 2012-02-07 13:43  张荣华  阅读(511)  评论(0编辑  收藏  举报
  1. 对于能自动生成的文件不要添加到版本控制中,如bin目录,obj目录。
  2. svnadmin create /Users/zhangronghua/documents/svntest  可以创建一个Repository.
  3. 在指定的目录下运行svn import  .  file:///users/zhangronghua/documents/svntest -m "the first import" 可以将当前目录加入到SVN中。
  4. svn co file:///users/zhangronghua/documents/svntest sesame  可以在当前目录下新建一个sesame目录并将repository中的内容checkout(co)到新建的sesame目录中。
  5. svn status filename.txt 可以查看filename.txt文件的状态。
  6. svn diff filename.txt 可以diff文件
  7. svn commit -m "The Commit Note" 可以commit 变化
  8. svn log filename.txt 可以查看日志,svn log --verbose filename.txt可以在查看日志时显示动作(如M,A...)
  9. svn  update 可以update当前目录
  10. svn add *** 可以添加内容到svn中
  11. svn支持以下的协议:svn, svn+ssh, http/https
  12. svn propset  checked-by "imzrh" filaname.txt 可以添加属性
  13. svn propedit checked-by filename.txt 可以编辑属性
  14. svn proplist filename.txt 可以列举属性名
  15. svn propget checked-by filename.txt 可以得到属性的值
  16. svn propedit svn:ignore directory 可以设置忽略哪些类型的文件。
  17. svn propedit svn:eol-style 可以设置行结束符的样式(native,CRLF(Windows),LF(Mac/Linux),CR(old Mac))
  18. svn copy sourcefile targetfile 可以copy文件
  19. svn move sroucefile targetfile 可以rename文件
  20. svn blame filename.txt 显示文件的第一行是在什么revision生成的,提交人是谁,内容是什么。(line-by-line history)
  21. svn merge -r 27:26 . 可以还原当前目录下所有的文件从27版本到26版本,即抛弃27版本的修改。
  22. 如果在Tag中checkin了代码,那么tag会自动变为一个branch,不过并不会自动转移到branch目录中。
  23. svn mkdir -m "create branches directory on first branch creating" file:///users/zhangronghua/documents/sesame 在repository中新建一个branches目录。
  24. svn copy  -m "create release branch for 1.0 " file:///users/zhangronghua/documents/sesame file:///users/zhangronghua/documents/sesame/branches/re-1.0 会建立一个rh-1.0的branch.
  25. svn switch file:///users/zhangronghua/documents/sesame/branches/re-1.0 会将当前目录变为re-1.0的local copy
  26. set SVN.EDITOR = sublime2.app 可以设置注释的默认编辑器,不过只在当前Terminal中起作用,要想一直起作用,请新建一个SVN.EDITOR的环境变量。