❶ windows 怎麼用svn命令
1、Windows下命令行工具:
發現原來安裝的tortoisesvn已經集成到shell中,不能在命令行下使用。
下載Apache Subversion command line tools,這是一個可以在cmd下使用的命令行工具,解壓後把裡面bin目錄這個路徑添加到環境變數的path,這樣在cmd下就可以使用了,和linux下使用svn的習慣一樣了。
目錄約定:
/trunck:開發主線
/branches:支線副本
/tags:標簽副本(一旦創建,不允許修改)
1)使用trunk作為主要的開發目錄
一般的,我們的所有的開發都是基於trunk進行開發,當一個版本(release)開發告一段落(開發、測試、文檔、製作安裝程序、打包等結束後),代碼處於凍結狀態(人為規定,可以通過hook來進行管理)。此時應該基於當前凍結的代碼庫,打tag。
當下一個版本/階段的開發任務開始時,繼續在trunk進行開發。此時,如果發現了上一個已發行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在開發的版本(Developing Version)無法滿足時間要求,這時候就需要在上一個版本上進行修改了。解決方法是基於發行版對應的tag,做相應的分支(branch)進行開發。
2)下圖為struts2的SVN倉庫目錄:
3、常用命令
svn help
svn --version
svn --version --quiet 只顯示版本號
svn checkout 地址
svn add 文件或者文件夾 增加本地數據到伺服器
svn commit / svn ci -m 「注釋」 文件名 提交代碼,要先add才commit
svn update / svn up不必跟特定的文件或目錄,也可以自己指定需要更新的文件或目錄。每次commit或者改動之前最好更新一下。
svn log
svn delete 文件名
svn resolve 路徑 --accept working 解決沖突
http://zccst.iteye.com/blog/1765519
svn switch 遠程路徑 版本切換
svn list路徑/svn ls 列出版本庫下的文件和目錄
svn merge -r m:n 路徑 合並文件,從版本號m到版本號n的遠程分支都合並到當前分支中
svn info 確認工作目錄的svn信息
svn diff -r m:n 路徑 對版本m和版本n比較差異
svn cleanup 為失敗的失誤清場
svn status -v 在本地進行代碼修改,檢查修改狀態
svn import 遠程路徑 --message 「message」 將當前路徑下文件導入到版本庫中
svn export 遠程路徑 導出一份干凈的項目
svn move/ svn mv 原文件名 新文件名 重命名
svn mkdir 文件名
svn / svn cp 源文件路徑 新文件路徑
svn revert 文件名 只能恢復未提交之前的操作
若要還原已提交的改動:只能用舊文件覆蓋新文件。操作如下:
1)sun up 讓本地工作拷貝更新到最新狀態
2)svn log your_file_path 查看文件日誌,這時候提交時填寫的說明信息就派上用場了
3)svn diff -r 舊修訂版序號:新修訂版序號 your_file_path 查看兩個修訂版之間的不同。
4)決定用哪個舊的修訂版號後,用舊的修訂版號文件覆蓋新的修訂版號文件。svn merge -r 新修訂版序號:舊修訂版序號 your_file_path
5)svn commit -m "恢復到某修訂版(某修訂版作廢)"
本地的版本叫做working
4、關於merge
branch主要用於新功能的開發
合並發生在本地working ,只要你不提交就不會影響到repository
合並前一定要先update、commit,保證不會out of day,並將本地的修改保存到repository
branch和trunk並行開發的過程中,要經常同步,將trunk的修改合並到branch,合並時選擇"Merge a range of revision"
branch最後合並回trunk時,merge type選擇"Reintegrate a branch"
不管是從trunk合並到branch還是最終從branch合並回trunk,在每次合並前最好先update,然後將本地的修改先全部commit,保護好現場,萬一合並不理想隨時都可以reverthttp://blog.csdn.net/eggcalm/article/details/6606520
http://zhengkun.readthedocs.org/zh_CN/latest/2014/02/07/svn-usage/
5、關於解決沖突
發生沖突之後會出現三個臨時文件:
XXX.mine XXX.r1 XXX.r2
一旦解決了沖突,需用svn resolved讓subversion知道,這樣就會刪除這三個臨時文件,沖突狀態解決。
三種解決方式:
手工合並沖突:需要將沖突標志刪除
用某一個臨時文件覆蓋自己的工作文件
用svn revert 放棄本地修改,不需要執行resolved
❷ svn命令使用方法
在svn
commit後面可以附加參數指定路徑的,這個路徑你指定為這單個文件就行了
svn
commit
[path...]
使用svn
help
commit查看commit指令的詳細幫助
另外如果用tortoisesvn等客戶端的話,在這單個文件上點右鍵,然後選擇commit菜單就行了
❸ svn info對應git什麼命令
svn命令列舉:
svn checkout :從伺服器上下載一份新的代碼到本地
svn up:在本地代碼目錄下執行,與伺服器上最新代碼保持同步
svn status:在本地代碼目錄下執行,查看當前目錄下的本地改動情況,可簡寫為svn st
svn revert <file-name>:在本地代碼目錄下執行,撤銷對<file-name>文件的改動,恢復到未改動前狀態。
svn diff <file_name>:在本地代碼目錄執行,查看對文件<file-name>的修改。
svn log -l4:查看當前目錄下的最新的4條修改歷史,可改為-l5,-l6,-l10 (注意是小寫的"L")
svn info:查看當前代碼版本信息
svn commit:提交修改的代碼到伺服器;
❹ svn的checkout命令
1、進入想要拉取的本地文件夾目錄,點擊滑鼠右鍵,選擇「SVN Checkout」。
❺ SVN命令行怎麼用
SVN Commit
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:%f /notempfile /closeonend
SVN CommitAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:* /notempfile /closeonend
SVN Diff
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:diff /path:%f /notempfile /closeonend
SVN Log
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:log /path:%f /notempfile /closeonend
SVN Update
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:%f /notempfile /closeonend
SVN UpdateAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:* /notempfile /closeonend
Source Monitor
D:\SourceMonitor\SourceMonitor /DC++ %f
❻ svn的一些基本的操作!!!
一、將版本庫中的資源簽出到本地工作區。首先,在本地硬碟中創建一個新的空文件夾,例如e: proj_trunk。右鍵單擊文件夾並選擇簽出選項,如下圖所示:
❼ linux 下如何啟動SVN服務。
先轉到SVN的安裝目錄,比如,你安裝在/home/svn 下面。然後轉到bin目錄下,在這里可以看見一個叫svnserve的文件,我們需要用這個來啟動SVN服務。
❽ svn伺服器備份svnsync命令怎麼用
有較多參數命令,可在命令行輸入 svnsync help來查看;網上相關實例蠻多,可網路下。
使用svnsync備份很簡單,只有四個步驟,在這里和大家簡單介紹一下,希望通過本節的學習大家能夠掌握使用svnsync命令對SVN庫進行備份的方法。
下面是具體的備份步驟:
一、在備份機上創建一個空庫:svnadmincreateSMP
二、更改該庫的鉤子腳本pre-revprop-change(因為svnsync要改這個庫的屬性,也就是要將源庫的屬性備份到這個庫,所以要啟用這個腳本):
cdSMP/hooks;
cppre-revprop-change.tmplpre-revprop-change;
chmod755pre-revprop-change;
vipre-revprop-change;
將該腳本後面的三句注釋掉,或者乾脆將它弄成一個空文件。
三、初始化,此時還沒有備份任何數據:
svnsyncinitfile:///home/backup/svn/svnsync/SMP/http://svntest.subversion.com/repos/SMP
語法是:svnsyncinit{你剛創建的庫url}{源庫url}
注意本地url是三個斜杠的:///
四、開始備份SVN庫:
svnsyncsyncfile:///home/backup/svn/svnsync/SMP
這是就一個個版本進行備份了。我們來看一下SVN庫備份過程中可能出現的錯誤。
附錄:
可能的報錯一:
,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' svnsync:Couldn'
這個時候可能屬性被鎖了,刪掉屬性:svnpropdelsvn:sync-lock--revprop-r0file:///home/backup/svn/svnsync/SMP
刪除成功後,再試一遍基本就可以了。如果反復操作都是同樣錯誤的話,有可能是你的svn安裝的有問題,重新安裝一遍就好了,俺就是這樣。
可能報錯二、
svnsync:REPORTrequestfailedon'http://svn1.subversion.com/repos/Relevance'
svnsync:Therequestedreportisunknown.這是因為你源庫的版本太低了,svnsync所需要的函數Report是svn1.4後加入的。沒辦法,對你的SVN庫進行升級後才能備份。