svn使用說明及常用命令總結

來源:互聯網
上載者:User

標籤:http   使用   檔案   os   art   問題   

使用注意事項:window下配置svn

1.     網路根目錄建立檔案(右鍵create repository here)

2.     命令方式:svnserve --daemon --root e:\svnroot || svnserve -d -re:\svnroot

3.     建立svnStart.bat,內容如下:

sc create svnserve binpath= "E:\ProgramFiles\TortoiseSVN\bin\svnserve.exe --service -r D:\svnroot" depend= Tcpipstart= auto

sc start svnserve

pause

svn://伺服器IP地址,預設訪問svnroot下的檔案清單

svnserve –d –r “e:/svnroot” 指定svnSVN根目錄路徑

 

4.     建立資產庫完成後import系統資源doc,src可addfile,delete,commit(新版本)

5.     若其他使用者需要共用檔案資源,checkout指定版本到本地檔案路徑。每次更新需要先update,解決conflict,commit

6.     svn常用命令總結:

6.1        建立版本庫svnadmin create file_path/repo_name

6.2        啟動伺服器svnserve.exe -d  -rfile_path -d 後台執行-r 版本庫的根目錄

6.3        訪問該版本庫的url:svn//localhost/repo_name

6.4        用戶端初始匯入import

svn import -m "init import" http://10.0.0.6/svn/teaching/

6.5        檢出(checkout)通過命令列檢入:

svn cohttp://hibernate3demo.googlecode.com/svn/tags/helloworld_r1

或者:svn checkouthttp://hibernate3demo.googlecode.com/svn/tags/helloworld_r1

將svn伺服器的最新修訂版下載到本地成為本地工作拷貝。

6.6        保持更新(update)

命令列:svn update或者svn up

用svn伺服器的最新修訂版更新本地工作拷貝。

多人合作時,更新要經常頻繁的做,盡量讓問題及早暴露,便於處理。

提交代碼前要更新,否則容易產生版本衝突。

6.7        添加(add)svn add file_path

告知svn伺服器,添加目錄和/或檔案到伺服器上,但是並沒有真的操作,直到commit。

6.8        提交改動

相當於通用概念:檢入(checkin)。命令列:svn commit或者:svn ci

提交本地工作拷貝的所有改動,而且是原子性的。要求:一般要註明修改的原因

svn ci -m "修改bug #224"

要求:提交之前要做更新svn up svn ci -m "修改bug #224"

6.9        還原改動

對應提交(commit),要有類似復原(rollback)的操作。svn revert

這個操作對開發人員十分有用,在被人改動很多代碼後可以“一鍵恢複”。

6.10    “還原”已提交的改動

revert只適合未提交的情況。

如果已經提交,發現問題,要回退到之前的修訂版。

首先需要:svn up讓本地工作拷貝更新到最新狀態。

然後:svn log your_file_path

查看檔案日誌,這時候提交時填寫的說明資訊就派上用場了。

查看兩個修訂版之間的不同:

svn diff -r 舊修訂版序號:新修訂版序號 your_file_path

決定用哪箇舊的修訂版號後,用舊的修訂版號檔案覆蓋新的修訂版號檔案。

svn merge -r 新修訂版序號:舊修訂版序號 your_file_path

還需要:svn commit -m "恢複到某修訂版(某修訂版作廢)"

這個還原是所謂的,不是用舊的版本號碼替代,而是將舊檔案覆蓋新檔案。

6.11    拷貝檔案和目錄

svn copy path/file_name newpath/new_file_name

svn commit -m "xxxx"

或者:

svn cp path/file_name newpath/new_file_name

svn commit -m "xxxx"

svn的copy,是很重要的工具,版本分支和標籤等概念都通過它實現。

svn的copy,是廉價的拷貝。

6.12    重新命名目錄/檔案

svn move file_name new_file_name或者: svn mv file_namenew_file_name

6.13    處理合并衝突

svn預設不對檔案加鎖。

如果不同人編輯了同一個檔案的不同部分,提交時會自動合并。

如果不同人編輯了同一個檔案的同一部分,後提交者會報告合并衝突。

解決方案(人工仲裁):放棄改動;

堅持你的改動,找到.mine的檔案名稱,恢複為原檔案名稱,然後執行:

svn resolved file_name

6.14    刪除檔案

將本地工作拷貝刪除。

svn delete file_path或者:svn del file_path


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.