svn常規操作與相關知識

2022-08-27 07:57:10 字數 2817 閱讀 1531

svn常規操作與相關知識

一、何謂版本控制

它是一種軟體工程籍以在開發的過程中,確保由不同人所編輯的同一檔案都得到更新,它透過文件控制記錄程式各個模組的改動,並為每次改動編上序號,並且編輯錯誤之後還可以回溯到以前的版本

二、可供我們選擇的版本控制系統

1、vcs  

(本地版本控制)

2、vss

、cvs

(集中版本控制)

3、clearcase

、svn

、perforce

、tfs

(集中版本控制)

4、mercurial

(水銀/

水星)、

git(分布式版本控制)

差異:1.git和其他版本控制系統的主要差別在於:

git只關心檔案資料的整體是否發生了變化,而多數的其他系統則只關心檔案內容的具體差異,它們在每個版本中記錄著各個檔案的具體差異。

2.subversion是乙個版本控制系統,相對於的rcs、cvs,採用了分支管理系統,它的設計目標就是取代cvs,優於cvs之處 原子提交。一次提交不管是單個還是多個檔案,都是作為乙個整體提交的。

3.分布式版本控制系統(distributed version control system,簡稱 dvcs)面世了。在這類系統中,像 git、mercurial、bazaar 以及 darcs 等,客戶端並不只提取最新版本的檔案快照,而是把**倉庫完整地映象下來。這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何乙個映象出來的本地倉庫恢復。因為每一次的轉殖操作,實際上都是一次對**倉庫的完整備份。

三、svn與git

1)適用物件不同。git適用於參與開源專案的開發者。他們由於水平高,更在乎的是效率而不是易用性。svn則不同,它適合普通的公司開發團隊。使用起來更加容易。

2)使用的場合不同。git適用於通過internet,有多個開發角色的單個專案開發,svn適合企業內部由專案經理統一協調的多個並行專案的開發。

3)許可權管理策略不同。git沒有嚴格的許可權管理控制,只要有帳號,就可以匯出、匯入**,甚至執行回退操作。svn則有嚴格的許可權管理,可以按組、按個人進行針對某個子目錄的許可權控制。區分讀、寫許可權。更嚴格的,不支援回退操作。保證**永遠可以追蹤。

4)分支(branch)的使用範圍不一樣。git中,你只能針對整個倉庫作branch,而且一旦刪除,便無法恢復。而svn中,branch可以針對任何子目錄,它本質上是乙個拷貝操作。所以,可以建立非常多、層次性的branch,並且,在不需要時將其刪除,而以後需要時只要checkout老的svn版本就可以了。

5)基於第三點,git適用於單純的軟體專案,典型的就是一些開源專案,比如linux核心、busybox等。相反,svn擅長多專案管理。比如,你可以在乙個svn倉庫中存放乙個手機專案的bsp/設計文件/檔案系統/應用程式/自動化編譯指令碼,或者在乙個svn中存放5款手機專案的檔案系統。git中必須建立n(專案數)*m(元件數)個倉庫。svn中只需要最多n或者m個就可以了。

6)git使用128位id作為版本號,而且checkout時要註明是哪個branch,而svn使用乙個遞增的序列號作為全域性唯一的版本號,更加簡明易懂。雖然可以使用gittag來建立一些文字化的別名,但是畢竟那只是針對特殊版本。

7)可跟蹤性,git的典型開發過程為:建立分支,進行開發,提交到本地master,刪除分支。這樣做的後果是以前的修改細節會丟失。而在svn下做同樣的事情,不會丟失任何細節。這裡是乙個有趣的鏈結,表明了git下典型的工作方式:(以master為核心,不斷建立新branch,刪除舊branch):

git/docs/howto/separating-topic-branches.txt

8)區域性更新,區域性還原。svn由於是在資料夾建立乙個.svn資料夾來實現管理,所以可以很簡單實現區域性更新或者還原。假如你只希望更新某些部分,則svn可以很好實現。同時**寫錯了,同時可以很好實現區域性還原,當然git也可以通過歷史版本還原,但是無法簡單地實現區域性還原。

四、svn常規操作

c2.ckeckout(檢出) 點選滑鼠右鍵checkout選項指定資源庫,匯出位址點選ok即可。

3.新增檔案或者資料夾 在檢出的檔案中進行操作,首先在裡面新增檔案或者資料夾-->滑鼠

右鍵點選tortoisesvn選項-->add-->svn commit

4.把乙個專案資料夾發布到svn伺服器上  在eclipse上配置svn外掛程式

滑鼠右鍵-->team-->share project-->svn-->next-->finish

5.update更新 滑鼠右鍵-->team-->update

6.export匯出 滑鼠右鍵-->tortoisesvn選項-->export

7.歷史版本 eclipse 右鍵-->team-->顯示歷史資源版本  資料夾 右鍵-->tortoisesvn選項-->show log

8.鎖定 滑鼠右鍵-->tortoisesvn選項-->get lock

9.備份 檔案操作 滑鼠右鍵-->tortoisesvn選項-->export

10.分之  eclipse 滑鼠右鍵-->team-->分之/標記  指定分之名-->滑鼠右鍵-->team-->update

檔案滑鼠右鍵-->tortoisesvn選項-->branch/tag

11.衝突 當不同使用者同時操作一行**的時候,提交會有衝突,update即可。

SVN相關操作

1 版本控制 revision control 是維護工程藍圖的標準做法,能追蹤工程藍圖從誕生一直到定案的過程。2 svn簡介 svn subversion 是近年來崛起的版本管理工具,3 svn 這個隱藏目錄記錄著兩項關鍵的資訊 工作檔案的基準版本和乙個本地副本最後更新的時間戳。千萬不要手工修改或...

陣列與物件的常規操作

給陣列新增字段 arrayaddziduan arr,name return newarr 物件合併 let user let page let newobj object.assign newobj,user,page es6 set set 和傳統es5的陣列array類似。都是存放資料的,最大...

git與svn操作與差別

後續會繼續補充 git與svn差別 1 svn的安全控制和許可權管理更好,非分布式,gui工具,svn分支是複製全部檔案,是乙個完整的目錄 2 git的分支是優勢,只是獲取元素而非複製,分布式工作方式,而且git是映象,需要更新全部內容,內容儲存使用sha 1雜湊演算法,保證了內容完整性,git離線...