在Windows下使用svn命令列教程及svn命令列的解釋

來源:互聯網
上載者:User

標籤:不同   製作   blog   sdn   副本   分享   手工   visual   指定   

本文轉載自:50719286/

以前在公司一直使用git,現在的公司改用svn,一時間還真的不知道如何下手,在網上搜尋了很多大神和官網文檔的指導,總結了下面一份教程,希望能夠協助大家快速上手,如果想更細緻的瞭解相關內容,可以點擊每個小節裡提供的的連結。

1、Windows下命令列工具:

發現原來安裝的tortoisesvn已經整合到shell中,不能在命令列下使用。於是找到這個http://www.visualsvn.com/downloads/

下載Apache Subversion command line tools,這是一個可以在cmd下使用的命令列工具,解壓後把裡面bin目錄這個路徑添加到環境變數的path,這樣在cmd下就可以使用了,和linux下使用svn的習慣一樣了。

 2、簡明教程:http://www.flyne.org/article/851 目錄約定:
  • /trunck:開發主線
  • /branches:支線副本
  • /tags:標籤副本(一旦建立,不允許修改)

1)使用trunk作為主要的開發目錄

一般的,我們的所有的開發都是基於trunk進行開發,當一個版本(release)開發告一段落(開發、測試、文檔、製作安裝程式、打包等結束後),代碼處於凍結狀態(人為規定,可以通過hook來進行管理)。此時應該基於當前凍結的程式碼程式庫,打tag。

當下一個版本/階段的開發工作單位開始時,繼續在trunk進行開發。此時,如果發現了上一個已發行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在開發的版本(Developing Version)無法滿足時間要求,這時候就需要在上一個版本上進行修改了。解決方案是基於發行版對應的tag,做相應的分支(branch)進行開發。

2)為struts2的SVN倉庫目錄:

3、常用命令svn helpsvn --versionsvn --version --quiet    只顯示版本號碼svn checkout 地址svn add 檔案或者檔案夾    增加本機資料到伺服器svn commit / svn ci -m “注釋”  檔案名稱   提交代碼,要先add才commitsvn update / svn up 不必跟特定的檔案或目錄,也可以自己指定需要更新的檔案或目錄。每次commit或者改動之前最好更新一下。svn logsvn delete 檔案名稱svn resolve 路徑 --accept working    解決衝突http://zccst.iteye.com/blog/1765519svn 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 copy / 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 copy 4、關於mergebranch主要用於新功能的開發 合并發生在本地working copy,只要你不提交就不會影響到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,保護好現場,萬一合并不理想隨時都可以revert http://blog.csdn.net/eggcalm/article/details/6606520http://zhengkun.readthedocs.org/zh_CN/latest/2014/02/07/svn-usage/ 5、關於解決衝突發生衝突之後會出現三個臨時檔案:XXX.mine XXX.r1 XXX.r2一旦解決了衝突,需用svn resolved讓subversion知道,這樣就會刪除這三個臨時檔案,衝突狀態解決。三種解決方式:
  • 手工合并衝突:需要將衝突標誌刪除
  • 用某一個臨時檔案覆蓋自己的工作檔案
  • 用svn revert 放棄本地修改,不需要執行resolved
 6、進階教程 很棒!!https://i18n-zh.googlecode.com/svn/www/svnbook-1.4/index.html 7、Git和SVN的區別http://blog.csdn.net/bruce_6/article/details/38299677Git是分布式svn是集中式;svn只有一個中央版本庫,而git有無限個;svn有全域的版本號碼,git沒有;git不必連網就可以看到所有的log,svn必須連網;git儲存的是中繼資料,svn是複製整個文檔;git強調分支,svn只是不同的檔案目錄,就是copy。

在Windows下使用svn命令列教程及svn命令列的解釋

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.