標籤: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