svn命令行操作



title: svn命令使用手冊
date: 2019-08-16 10:09:29
categories: svn
tags:


  1. 查看版本庫下的文件和目錄列表
svn list(ls) svn://***** --verbose
  1. 查看當前分支從哪個支線創建而來
svn log -v -r 1:HEAD --limit 1 --stop-on-copy
  1. 查看當前工作副本所在URL
svn  info
  1. 切換分支
svn switch svn://***(新分支)

svn switch svn://*** svn://***本地目錄當前分支

svn switch http://localhost/test/456 . //(原為123的分支)當前所在目錄分支到localhost/test/456

  1. 新建、刪除分支標簽
svn copy base_branch new_branch -m "make B branch"
svn rm (分支)URL   -m "commit log" 

svn cp . (tag)URL
svn rm (tag)URL -m "commit log"
  1. 同步代碼到最新
svn update(up)
  1. 查看當前工作副本的狀態
svn status(st)
  1. 加鎖/解鎖
svn lock -m “加鎖備注信息文本“ [--force] 文件名
svn unlock 文件名
  1. 合並分支
#查找創建分支時的版本號reversion
svn log [-q] --stop-on-copy

svn merge -r 分支版本號:HEAD 分支的URL   --dry-run   #HEAD為當前主干上的最新版本

svn merge url -r xxxx:yyyy ./  (將url指定的code的xxxx版本到yyyy版本,merge到本地(注意:該方式不包括xxxx版本!!))

svn merge url -r HEAD ./

svn merge url -c xxxx ./         (把svn 版本號為xxxx的改動合到你的本地)


svn st | grep ^C      # 查找合並時的沖突文件,手工解決沖突
svn resolved filename # 告知svn沖突已解決
svn commit -m ""      # 提示合並后的版本


有效選項: 
  -r [--revision] ARG      : ARG (一些命令也接受ARG1:ARG2范圍)
                             版本參數可以是如下之一: 
                                NUMBER       版本號
                                '{' DATE '}' 在指定時間以后的版本
                                'HEAD'       版本庫中的最新版本
                                'BASE'       工作副本的基線版本
                                'COMMITTED'  最后提交或基線之前
                                'PREV'       COMMITTED的前一版本
  -c [--change] ARG        : 在ARG版本(如同 -r ARG-1:ARG)作的修改
                             如果ARG為負數則等價於 -r ARG:ARG-1
  -N [--non-recursive]     : 過時;嘗試 --depth=files 或 --depth=immediates
  --depth ARG              : 受深度參數 ARG(“empty”,“files”,“immediates”,或“infinity”) 約束的操作
  -q [--quiet]             : 不打印信息,或只打印概要信息
  --force                  : 強制操作運行
  --dry-run                : 嘗試操作但沒有修改
  --diff3-cmd ARG          : 使用 ARG 作為合並命令
  --record-only            : 標記版本為已合並(使用 -r 參數)
  -x [--extensions] ARG    : 缺省: “-u”。當 Subversion 調用外部比較程序時,ARG 直接傳給它。但是當
                             Subversion 使用缺省的內置比較實現,或者正
                             顯示追溯時, ARG 可以是: 
                                -u (--unified):
                                   輸出三行統一上下文。
                                -b (--ignore-space-change):
                                   忽略空白數量的修改。
                                -w (--ignore-all-space):
                                   忽略所有的空白。
                                --ignore-eol-style:
                                   忽略行尾樣式的改變。                            -p (--show-c-function):
                                   在比較輸出中顯示 C 函數名稱。
  --ignore-ancestry        : 合並時忽略原始信息
  --accept ARG             : 指定自動解決沖突動作
                            ('postpone', 'base', 'mine-conflict',
                             'theirs-conflict', 'mine-full', 'theirs-full',
                             'edit', 'launch')
  --reintegrate            : 批量合並所有源 URL 中未合並的修改

  1. 提交修改
svn add test.php <- 添加test.php
svn add *.php <- 添加當前目錄下所有的php文件
svn commit -m “添加我的測試用test.php“ test.php

SVN 常用命令一覽表

https://www.kancloud.cn/i281151/svn/197160

http://blog.sina.com.cn/s/blog_567e650201012jmq.html

命令 功能 使用格式
checkout 檢出 svn co URL
up 更新到當前URL的末端 svn up
switch 更新到某一tag/branch svn switch (tag/分支)URL
add 增加 svn add 文件名
rm 刪除文件 svn rm 文件名
刪除目錄 svn rm 目錄名
diff 與base版本(最后檢出或者更新到的版本)對比 svn diff
與版本庫中最新版本對比 svn diff -r head
當前工作副本,兩個版本之間對比 svn diff -r reversion1:reversion2
版本庫中任意兩個tag做對比 svn diff (tag1)URL (tag2)URL
ci 提交 svn ci -m "commit log"
log 查看當前工作副本log svn log
只查看指定版本的log svn log -r
打印log所有附加信息 svn log -v
查看當前tag/branch版本詳情 svn log --stop-on-copy -v
info 查看當前工作副本所在URL svn info
status 查看工作副本的狀態 svn st
查看文件的taglist svn命令不支持,可執行cs taglist
tag 新增tag svn cp . (tag)URL
刪除tag svn rm (tag)URL -m "commit log"
覆蓋已經存在的tag 不支持
分支開發 創建branch svn cp (基線版本)URL (分支)URL -m "commit log"
刪除branch svn rm (分支)URL -m "commit log"
同步 svn co (主干)URL
cd ~/wc
svn merge (主干)URL (待同步tag)URL
svn ci -m "commit log"
svn cp (主干)URL (以_PD_BL_MAIN結尾的tag)URL -m"commit log"
合並 svn co (合並目標)URL
cd ~/wc
svn merge (基線版本tag)URL (上線tag)URL
svn ci -m "commit log"
svn cp (合並目標)URL (上線tag_MERGE_的tag對應)URL -m"commit log"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM