SVN與Git的區別及SVN的使用步驟

2021-10-13 12:38:04 字數 2682 閱讀 8878

同樣是選中檔案右鍵,功能選單和上次的選單已經不一樣了,因為該檔案已經加入到svn**管理中了

優異的跨平台支援,對windows平台支援非常友好

簡單易用,安裝後稍微培訓下就知道怎麼操作

**、需求、文件、涉及稿都可以用svn進行管理,適合不同部門非技術的同事協作

1.去中心化:git沒有中心伺服器,每個人機器上都是一台完整的庫我們平時開發**時的**伺服器其實和我們自己機器上的庫內容一樣的(格式有點不同,是bare的)。雖然平時大家都是將**提交到**伺服器上再統一pull別人的**,但實際情況卻總是pull張三的庫,然後push給李四等等的操作。

2.本地提交:本地提交的好處主要有三點

斷網提交

小步提交:可以對自己的階段成果有跟蹤,並且提高每次變更的安全性

本地庫:和斷網提交同乙個實現,但從需求角度出發則略有不同,主要是說即使只有自己乙個人開發專案,也可以輕易的讓自己的**有版本跟蹤,而不需要費力氣建立svn server.

本地回滾:這個其實是由本地庫的存在而產生的,但可以減少**庫上的冗餘版本

3.分支策略:在git實際開發中分支的分離和merge是屬於日常操作,開啟和分並成本相比svn要小的多svn是複製乙份**到分支目錄,git則是在分支做一下標記。隨便一次衝突就會自動產生分支,所以大家每天都在與分支打交道。這便是弱化了分支的概念,由於分支成本很小,因此使得按功能分支的開發模式(每乙個分支乙個功能,開發完了再merge到主幹)變得非常簡單,大家可以完全不需要再擔心scm成本太高而選用主幹開發模式(所有功能都在主幹上開發,到了發版本前再分離出分支)。

svn模式

寫** 2. 從伺服器拉回伺服器的當前版本庫,並解決伺服器版本庫與本地**的衝突 3. 將本地**提交到伺服器

git模式

寫** 2. 提交到本地版本庫 3. 從伺服器拉回伺服器的當前版本庫,並解決伺服器版本庫與本地**的衝突 4. 將遠端與本地**合併結果提交到本地版本庫 5. 將本地版本庫推到伺服器

對比可以看出:分布式版本管理僅僅是增加了本地庫這個概念,其餘的概念與集中管理並無區別。但是svn在與伺服器同步之前無法提交**,因而本地修改更容易出問題

當研發成本比較低,協作開發人數不多,開發人員對於版本管理的水平參差不齊的時候,或者對於**的安全性要求更高一點的時候,適合用svn。而對於很多人參與開發,**量比較大,或者高頻次協作,跨公司,跨地域合作的情況下,更適合用git。

1、安裝svn

2、安裝完成後,比如我想把**放在我的電腦其中乙個位置比如 :我的專案在f盤的目錄下中,我右鍵就可以看到如下:

說明snv已經安裝成功了!

先說下幾個基本的命令:

update:在你編寫**的過程中,專案參考者很可能已經提交過**到svn伺服器,而你本地專案都是自己編寫,肯定沒有其他參與者新提交的**,你可以通過update svn獲得svn最新的**。

checkout命令使用**

新建或者進入目錄下(比如我f盤:cbdata),右鍵 --> svn checkout -->

步驟1:在url of repository輸入

注意事項:

a、add命令**

以下是我新加的檔案,是沒有圖示的,相當這個檔案已經建立了,但沒有歸屬到svn**管理中

選中檔案右鍵出現如下選單,把檔案加到svn**管理中

下面是加進去的圖示,明顯檔案上多了乙個圖示+號,至此檔案只是加到了svn中,但還沒有提交到svn伺服器。

同樣是選中檔案右鍵,功能選單和上次的選單已經不一樣了,因為該檔案已經加入到svn**管理中了

b、commit命令**

當我們**編寫完了,把**提交到伺服器可以通過commit 來提交**,注意要先更新再提交

下圖是提交完後的檔案圖示

如果你修改了**檔案,狀態就變成了已修改,而圖示過載已變成了紅色感嘆號,你可以很容易地看出那些檔案從你上次更新工作複本被修改過,且需要提交

GIT與SVN的區別以及SVN轉GIT

公司部分專案開始使用的svn,需要通過svn轉成git,通過查詢可以用git的svn命令,不過在培訓時候找到一些svn與git的區別 分布式檔案系統,每個人都有完整的 分支對svn來說是完整目錄,建立分支需要重新配置,git建立分支相當簡單 git可以離線檢視log日誌 svn提交實際提交到 倉庫,...

Svn與Git的區別

這篇主要是談談兩者的區別,至於誰優誰劣看官自己思考吧!把第一條理解到位思想到位了做起來才會有的放矢,其他幾條都是用的時候才能體會到 1 最核心的區別git是分布式的,而svn不是分布的。能理解這點,上手會很容易,宣告一點git並不是目前唯一的分布式版本控制系統,還有比如mercurial等,所以說它...

Svn與Git的區別

1 最核心的區別git是分布式的,而svn不是分布的。能理解這點,上手會很容易,宣告一點git並不是目前唯一的分布式版本控制系統,還有比如mercurial等,所以說它們差不許多。話說回來git跟svn一樣有自己的集中式版本庫和server端,但git更傾向於分布式開發,因為每乙個開發人員的電腦上都...