SVN伺服器&客戶端的搭建和使用

来源:http://www.cnblogs.com/codelir/archive/2016/04/04/5351592.html
-Advertisement-
Play Games

目錄結構: 1. SVN伺服器搭建和使用-VisualSVNServer 2. SVN客戶端安裝和使用-TortoiseSVN 3. TortoiseSVN使用方法 SVN簡介 SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目 ...


 


目錄結構:

1. SVN伺服器搭建和使用-VisualSVNServer

2. SVN客戶端安裝和使用-TortoiseSVN

3. TortoiseSVN使用方法

 

SVN簡介

 

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的

 


一:SVN伺服器搭建和使用。 

   1.  下載和搭建SVN伺服器並添加版本庫

下載:http://subversion.apache.org/packages.html

       進入網址後,瀏覽器最底部看到如下截圖:

       

      點開上面的VisualSVN連接,下載VisualSVN server安裝完成後,啟動VisualSVN Server Manager,如圖 :

      

      現在開始創建版本庫Rong,右鍵單擊視窗的Repositores,如下圖:

       

        在彈出的右鍵菜單中選擇Create New Repository或者新建Repository:

     

勾上Create default structure覆選框後Rong目錄下自動創建了3個文件夾,branches,tags,trunk

                                  

三個目錄初識

trunk目錄

主幹目錄,一般情況下是在此目錄下進行代碼的開發,這個目錄應該存放最新的代碼。實際開發中我是在branches建立開發分支進行開發,然後將最新代碼合併到此目錄。

tags目錄

代碼的版本標記,這個目錄的代碼不允許更改,比如,軟體發了1.0版本,就需要將1.0版本的代碼在tags中放一份拷貝,發了2.0,就要在tag中標記一個2.0。如果1.0軟體出現了bug,開發人員要驗證bug,直接從tag中取1.0版本的代碼就可以了,不會把個個版本混淆。

branches目錄

分支目錄,用於開發新功能或解決老版本的bug。比如,1.0版本上線,開發人員全力投入2.0版本的開發,但是,1.0版本突然出現了一個bug必須要修複,而且很緊急,不能等到2.0版本上線,這時候該怎麼辦呢。正確的做法是,從tag中取1.0版本的代碼,建立一個新的分支,開發人員在這個分支上解決1.0發現的bug,解決完成並測試通過之後,在tag中添加一個新的版本標記,比如1.1,然後關閉這個分支。如果1.1再出現bug,那麼從1.1建立分支,以此類推,直到2.0出現。

 

    2. 需要建立用戶和組,並且需要分配許可權。     

         a. 創建用戶,在VisualSVN Server Manager視窗的左側右鍵Users,選擇Create User

                  

         b. 建立用戶組,在VisualSVN Server Manager視窗的左側右鍵Groups,選擇Create Group,如圖:

            

           接下來我們需要給用戶設置許可權,在Rong上單擊右鍵,選擇屬性,如圖:

            

            在彈出的對話框中,選擇Security選項卡,點擊Add按鈕,選中指定用戶組或用戶,然後添加進來,許可權設置為Read/Write, 這裡我們不使用用戶組直接指定用戶,如下圖:   

             

設置許可權後,只有指定組或指定用戶對這個項目有相應的讀寫許可權,這裡只有test對Rong有讀寫許可權。在實際使用中組和用戶可以靈活使用,可以給項目指定對應的用戶也可以指定相應的組。
到這裡svn伺服器端已經搭建完成,我們從下載安裝一直到添加版本庫Rong=>trunk,branches,tags目錄

二:SVN客戶端安裝和使用 

      1. 下載TortoiseSVN進行安裝 

下載: http://tortoisesvn.net/downloads.html

       以下是我下載的svn相關安裝包,可以公眾號CodeL留言獲取:

    

上面的VisualSVN很好用,VisualSVN是SVN的客戶端,和Visual Studio集成在一起,安裝後在vs中就可以實現提交,更新及其他操作,如下圖。

繼續回到svn客戶端安裝,安裝完成後,右鍵就可以看到如下:

 

2:checkout項目文件。   在本機某個目錄下,右鍵 Svn Checkout (檢出):

其中URL可以在SVN伺服器獲取到,在Rong目錄右鍵

將複製的版本庫URL粘貼上,如下圖:

點擊【ok】按鈕後,就可以檢索出來檢出的時候會提示輸入用戶名和密碼,就是在服務端創建的user的用戶名和密碼。
到這裡 svn從伺服器到客戶端的搭建已經完成,並且我們已經將對於的版本庫檢出到本機上,剩下的就是學習TortoiseSVN的相關使用方法

三:TortoiseSVN使用方法
 如圖,紅色矩形框標記的都是一些比較常用的命令

  1. update 表示更新,預設更新到svn伺服器上的最新版本
  2. commit 提交操作,提交對文件的修改
  3. resolve 已解決的,用於處理衝突
  4. revert  恢復,撤銷對文件的更改(只能撤銷未提交的修改)
  5. clean up  清理操作,用於處理一下被鎖定的情況
  6. merge  合併
  7. add   添加,未加入版本控制的文件預設會有一個問號,可以通過add添加到版本控制


這裡只大致描述一下,具體使用請結合實際多實踐操作,如果您懶得下載,也可以在公眾號CodeL留言發給你。

 

關於svn的使用這些文章都講的很詳細:

http://www.cnblogs.com/armyfai/p/3985660.html

http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2408089.html

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 5.2 使用select,poll // CPU占用率低,適用於很多簡單場合 參考:UNIX環境高級編程 I/O多路轉接 監測多個文件,只要有某一個文件可讀/可寫/異常或超時,即返回 int select(int nfds, fd_set *readfds, fd_set *writefds,fd_... ...
  • 之前在網上看過很多對這方面的講解,但個人覺得看下來過於 "深奧",不容易理解,所以想用更簡單的方式進行闡述,便於理解。 本次我們重點分析用戶請求到頁面呈現過程中Web伺服器的處理過程。我們從ASP.NET站點的一個頁面請求開始說起,先看下麵對於某個請求的簡單執行模型 (註意這是對asp.net站點I ...
  • 模擬一個方法 Controller: namespace WebApplication1.Controllers { public class TestController : Controller { public TestController(IService service) { this.S ...
  • 一、引言 在前一篇文章已經詳細介紹了SignalR了,並且簡單介紹它在Asp.net MVC 和WPF中的應用。在上篇博文介紹的都是群發消息的實現,然而,對於SignalR是為了實時聊天而生的,自然少了不像QQ一樣的端對端的聊天了。本篇博文將介紹如何使用SignalR來實現類似QQ聊天的功能。 二、 ...
  • 作者:[美]Adam Freeman 來源:《精通ASP.NET MVC 4》 本文將繼續構建 SportsStore 示例應用程式。在上一章中,添加了對購物車的基本支持,現在打算改善並完成其功能。 1.使用模型綁定 MVC 框架使用了一個叫作“模型綁定”的系統,以便通過 HTTP 請求來創建一些 ...
  • ASP.NET Core在啟動以及後續針對每個請求的處理過程中的各個環節都需要相應的組件提供相應的服務,為了方便對這些組件進行定製,ASP.NET通過定義介面的方式對它們進行了“標準化”,我們將這些標準化的組件稱為服務,ASP.NET在內部專門維護了一個DI容器來提供所需的服務。要瞭解這個DI容器以... ...
  • ??二元操作符在對first??second求值時,大致會經歷以下步驟: 1)對first進行求值; 2)如果結果非空,則該結果就是整個表達式的結果; 3)否則求second的值,其結果作為整個表達式的結果。 例如: ...
  • 當我們初學Winform的時候被其神奇的事件功能所吸引,當點擊一個按鈕時,便會跳到我們所寫的點擊方法當中去。然而這並不符合我們對方法的理解,究竟.net在後面幫助我們實現了什麼。我們怎樣模擬其事件的實現呢。下麵先從Button的Click方法說起。 1.首先查看設計器自動生成的代碼 EventHan ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...