4 使用命令行模式訪問SVN服務器
4.1 檢出
①首先進入本身的工做目錄,例如:D:\DevWorkSpace\SVNSpace
②運行svn checkout命令,命令格式以下
格式 svn checkout svn://SVN服務器主機地址/具體倉庫目錄 保存檢出內容的目錄
舉例 svn checkout svn://localhost/ERP MyERP
運行結果 取出版本 0。
③工做副本
運行checkout命令後進入MyERP目錄,看到裏面什麼都沒有。真的什麼都沒有嗎?不是的。檢出命令會在這一目錄下建立一個隱藏目錄.svn,用來保存與服務器交互的重要信息,其中包括從服務器端取回的最新版本信息、文件狀態、更新時間等。SVN正是以此爲依據判斷當前目錄中文件的狀態。因此這個隱藏目錄千萬不要刪除或修改其中的內容——徹底無視它的存在吧。若是服務器端保存的文件能夠視爲一個「正本」,那麼每一個開發人員檢出到本地目錄的文件能夠視爲「副本」,一般稱爲工做副本。
4.2 提交
①進入D:\DevWorkSpace\SVNSpace\MyERP目錄
②建立一個文件test.txt
③執行svn commit命令,運行結果是
D:\DevWorkSpace\SVNSpace\MyERP>svn commit test.txt
svn: E200009: 提交失敗(細節以下):
svn: E200009: 「D:\DevWorkSpace\SVNSpace\MyERP\test.txt」 還沒有歸入版本控制
說明一個文件必須歸入版本控制才能夠提交到服務器端。
④執行svn add命令,將test.txt歸入版本控制
D:\DevWorkSpace\SVNSpace\MyERP>svn add test.txt
A test.txt
⑤再次執行svn commit命令
D:\DevWorkSpace\SVNSpace\MyERP>svn commit test.txt
svn: E205007: 提交失敗(細節以下):
svn: E205007: 沒法使用外部編輯器得到日誌信息;考慮設置環境變量 $SVN_EDITOR,或者使用 –message (-m) 或 –file (-F) 選項
svn: E205007: 沒有設置 SVN_EDITOR,VISUAL 或 EDITOR 環境變量,運行時的配置參數中也沒有 「editor-cmd」 選項
此時要求附加日誌信息
⑥使用-m參數附加日誌信息
D:\DevWorkSpace\SVNSpace\MyERP>svn commit -m 「My first commit」 test.txt
svn: E170001: 提交失敗(細節以下):
svn: E170001: 認證失敗
緣由是沒有權限
⑦暫時先開啓匿名訪問權限
[1]進入對應的版本庫目錄下的conf目錄:D:\DevRepository\Subversion\ERP\conf
[2]打開svnserve.conf
[3]將第19行的# anon-access = read改成anon-access = write,也就是去掉「# 」,將read改成write。注意前面不要留空格,必定要頂格寫。
[4]不須要重啓SVN服務,甚至命令行窗口都不須要從新打開。
⑧從新執行提交命令
D:\DevWorkSpace\SVNSpace\MyERP>svn commit -m 「My first commit」 test.txt
正在增長 test.txt
傳輸文件數據.
提交後的版本爲 1。
說明提交成功了。
⑨其實svn commit命令最後能夠不指定具體文件,此時表示提交當前工做副本中的全部修改。
4.3 更新
①將服務器端文件檢出到一個新的目錄,模擬另一個終端
D:\DevWorkSpace\SVNSpace>svn checkout svn://localhost/ERP TomERP
A TomERP\test.txt
取出版本 1。
②回到MyERP目錄,對test.txt文件修改後提交。
③進入TomERP目錄
④執行svn update命令
D:\DevWorkSpace\SVNSpace\TomERP>svn update
正在升級 ‘.’:
U test.txt
更新到版本 2。
這樣咱們就能夠在TomERP目錄下看到MyERP目錄下提交的修改。
⑤思考:更新和檢出的相同點和不一樣點分別是什麼?
檢出 更新
相同點 從服務器端下載最新內容
不一樣點1 下載整個項目 下載與本地工做副本不一樣的內容
不一樣點2 建立.svn目錄,使檢出目錄成爲工做副本 依賴.svn目錄
不一樣點3 只能操做1次 能夠操做屢次git