




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SVN內部培訓資料目錄1 SVN的簡介的簡介2 SVN的安裝的安裝3 SVN的相關圖標的相關圖標4 SVN的日常使用的日常使用5 SVN的總結注意事項的總結注意事項1、SVN的簡介 SVN全名Subversion,即版本控制系統(tǒng),是一個跨平臺的軟件,支持大多數(shù)常見的操作系統(tǒng)。它作為一個開源的版本控制系統(tǒng),管理隨時間改變的數(shù)據。而這些數(shù)據都放置在一個中央資料檔案庫 (repository) 中,這個檔案庫類似于一個普通的文件服務器,記錄著每一次文件變動的過程,便于將檔案恢復到舊的版本或是瀏覽文件的變動歷史。用來管理任何類型的文件, 其中包括了程序源碼。 TortoiseSVN:是SVN客戶端程序
2、,為windows外殼程序集成到windows資源管理器和文件管理系統(tǒng)的Subversion客戶端。SVNService.exe:是專為 SubVersion 開發(fā)的一個用來作為 Win32 服務掛接的入口程序。 1、SVN的簡介記錄每個文件的成長細節(jié),開發(fā)過程中保存產品的中間結果,實現(xiàn)了信息的共享;所有成員維護的實際是同一個版本庫,無需專人維護所有文件的最新版本,即避免傳統(tǒng)發(fā)送資料的時間又可以防止文件版本混亂;及時了解團隊中其他成員的進度,協(xié)同工作,提高團隊工作效率,利于團隊之間成果的復用;對任兩個中間結果進行比較,比較不同版本間的細微差別;1、SVN的簡介配置庫( Repository )
3、 SVN的核心是配置庫,儲存所有的數(shù)據,配置庫按照文件樹形式儲存數(shù)據包括文件和目錄,任意數(shù)量的客戶端可以連接到配置庫,讀寫這些文件。通過寫數(shù)據,別人可以看到這些信息;通過讀數(shù)據,可以看到別人的修改。最特別的是 Subversion 會記錄配置庫中的每一次更改,不僅針對文件也包括目錄本身,包括增加、刪除和重新組織文件和目錄。工作副本(WorkSpace) 與位于中央配置庫相對應的是每個人的工作空間,它是每個程序員工作的地方,程序員從配置庫拿到源代碼,放在本地作為工作副本,在工作副本上進行查看、修改、編譯、運行、測試等操作,并把新版本的代碼從這里提交回配置庫庫中。1、SVN的簡介此工具可以及時了解
4、團隊中其他成員的進度; 配置庫配置庫 工作副本工作副本CheckoutCommit主目錄2、SVN的客戶端安裝將SVN的安裝包存放好后,安裝SVN客戶端; 雙擊安裝包Next選中“I accept the terms in the license Agreement”NextInstall選中“Show Changelog”Finish點擊“Yes”按鈕(安裝TortoiseSVN 沒什么特別,一路ok)重新啟動電腦; 當TortoiseSVN安裝成功后,默認情況下會在鼠標右鍵菜單自動集成SVN Checkout和TortoiseSVN這兩個選項;可以下載TortoiseSVN的中文語言包,根
5、據向導運行語言包安裝程序,重新啟動程序后,在設置中設置語言即可看到中文菜單。 備注:所有的TortoiseSVN命令都是通過windows資源管理器的右鍵菜單執(zhí)行。安裝程序包,所有安裝程序使用缺省的模式,注意路徑中不能有空格,并且盡量避免復制操作。2、SVN的安裝安裝完成1、需要初始化,本地要遷出配置庫的內容,在桌面指定位置進行右擊,菜單選擇SVN Checkout(檢出);2、彈出URL of repository欄中輸入您要訪問的配置庫路 徑,1/svn/doc-1/svn/doc-產品支持產品支持(此路 徑為產品支持
6、部配置庫路徑)3、默認點擊ok確認,如下圖所示:2、SVN的安裝服務器上的服務器上的ip+ip+端端口號口號+ +工程名稱工程名稱存放在本地的存放在本地的文件夾路徑文件夾路徑2、SVN的安裝在彈出對話框中選擇永久接受,這樣可以避免每次提示選擇(圖一),然后驗證身份,輸入用戶名和密碼,可以保存身份認證(圖二)圖一圖二2、SVN的安裝此時就會檢索SVN上已存在的相關文件,點擊ok檢出即可主目錄版本號過點擊ok,客戶端版受本控制的文件及目錄與服務端版本一致。3、SVN的相關圖標 一個新檢出的工作副本使用綠色的對勾做重載; 表示Subversion狀態(tài)正常,受版本控制; 當我們開始編輯一個文件后,圖標
7、將變成紅色感嘆號。通過這種方 式可以很容易地看出我們對哪些文件進行了修改操作,但是還沒 有提交到版本庫中; 如果在提交的過程中出現(xiàn)了沖突,圖標將變成黃色感嘆號; 如果我們擁有了一個文件的鎖,并且Subversion狀態(tài)是正常,這個重載 圖標將提醒我們:如果不使用該文件的話,請進行釋放鎖操作,允許其 他成員提交對該文件的修改; 這個圖標表示當前文件夾下的某些文件或文件夾已經被計劃從版本控制 中刪除,或是該文件夾下某個受控的文件丟失了; 加號告訴我們有一個文件或是目錄已經被計劃加入版本控制;主目錄4、SVN的日常使用CheckOut(檢出)作用:將版本庫中的內容檢出到本地工作副本,來初始化檢出一份
8、本地的工作副本;4、SVN的日常使用CheckOut的注意事項檢出深度:1.全遞歸(默認選擇) 檢出完整的目錄樹,包含所有的文件或子目錄。2.直接節(jié)點,包含目錄 檢出目錄,包含其中的文件或子目錄,但是不遞歸展開子目錄。3.僅文件子節(jié)點 檢出指定目錄,包含所有文件,但是不檢出任何子目錄。4.僅此項 只檢出目錄,不包含其中的文件或子目錄。省略外部引用:如果項目含有外部項目的引用,而這些引用我們不希望同時檢出,請選中忽略外部項目復選框。如果選中了這個復選框,更新的時候要使用命令”更新至版本Update to Revision”4、SVN的日常使用SVN Update 更新SVN Commit 提交T
9、ortoiseSVN 4、SVN的日常使用SVN Update(SVN更新)當需要從SVN中心版本庫中更新時,用此命令可以更新你的工作拷貝,因為每個人都有自己的工作拷貝,在你對項目文件進行操作的同時,項目組其他成員也在對項目進行編輯并提交操作,這樣項目庫就隨著每次提交隨時發(fā)生著變化,所以在每次編輯操作之前都要執(zhí)行Update命令,以保證我的本地工作拷貝與項目庫的版本內容一致。作用:更新工作副本使其成為版本庫中的最新版本;SVN將顯示出更新的文件和更新的次數(shù)。 返回4、SVN的日常使用 選中TortoiseSVN項后,會出現(xiàn)如下圖所示的眾多菜單項。下面將分別對各項進行詳細介紹。 點擊您要查看的項
10、查看版本日志進入項目庫撤銷此次更改查看圖形版本信息解決沖突更新到項目庫最新版本文件或目錄的分支路徑的切換創(chuàng)建補丁文件或目錄的合并導出文件到本地重新定位應用補丁添加文件到項目庫主目錄獲取鎖定解除鎖定設置4、SVN的日常使用ADD 添加向配置庫中增加一個新的內容時,將需要增加的文件/文件夾(在新文件/文件夾所在父文件夾點擊右鍵),在菜單中選擇“添加Add”命令;添加文件夾選中要添加的文件夾4、SVN的日常使用這時本地硬盤test文件夾圖標顯示如下圖:需要鼠標選中本地硬盤添加或修改過的文件/文件夾選擇“SVN Commit”項,(此時將本地硬盤test文件下修改的內容都上傳到配置庫中,若只上傳單個文
11、件,只需點中單個文件上傳即可)返回4、SVN的日常使用 SVN Commit(SVN提交)對本地工作拷貝編輯完之后,就可以執(zhí)行Commit提交命令將新文件提交到服務器上。點擊該菜單項會出現(xiàn)如下圖所示的對話框,確認后點擊ok即可,如下圖所示:不要忘了寫日志,方便查看每次都做了什么改動返回4、SVN的日常使用查看日志(一)隨著項目的開發(fā),項目庫內的文件和目錄的版本都在發(fā)生著各自的變化,點擊此菜單項會顯示該文件或目錄的所有版本信息。什么人修改什么人時間修改修改了什么內容4、SVN的日常使用查看日志(二)在查看文件或目錄的版本日志時,查看本地的編輯的文本內容與其歷史版本之間的差異,鼠標選中修改的文檔右
12、鍵選擇“TortoiseSVN”的“Show log”項顯示日志對話框,在日志對話框選擇要比較的歷史版本,后右鍵選擇“Compare with working copy”項;返回4、SVN的日常使用Repobroswer項目庫(一) 這是一個版本庫瀏覽工具,點擊進入之后會出現(xiàn)如下輸入版本庫地址的對話框;輸入版本庫地址4、SVN的日常使用Repobroswer項目庫(二)進入項目庫后,顯示該項目的所有目錄信息。見下圖項目目錄目錄當前版本對此目錄最近操作人員信息對此目錄最近一次修改的時間項目目錄目錄當前版本返回4、SVN的日常使用查看圖形日志信息以圖形化的方式顯示日志信息的詳細演變過程,每一種標志
13、和顏色代表每次所執(zhí)行的操作。返回4、SVN的日常使用Revert撤銷操作Revert還原在修改了某些文件后(文件未上傳到配置庫),需要返回到修改前的狀態(tài),則選中要還原的文件夾右鍵選擇“TortoiseSVN”的“Revert”項撤銷本地所有未提交的修改,本地硬盤上的文件將恢復到修改前的內容,修改的內容將被刪除。注意:還沒有執(zhí)行Commit操作之前執(zhí)行此命令才可以,否則無效;返回點擊0k4、SVN的日常使用Update to revision 獲取歷史版本鼠標選中文件夾test右鍵選擇“TortoiseSVN”的“Update to revision”項,后系統(tǒng)提示需要選擇下載的版本,如下左圖所
14、示: “Revision”欄中“HEAD revision”為最新版本,“Revision”手工輸入版本號,也可點擊“Show log”按鈕選擇需要的版本內容,選擇版本40后,點擊“OK”按鈕,系統(tǒng)彈出如右下信息框:返回點擊“OK”按鈕,系統(tǒng)開始下載文件,下載完畢后如上圖提示4、SVN的日常使用沖突沖突是指:團隊協(xié)同工作時,當多位團隊成員同時修改同一個文件,造成本地文件與SVN系統(tǒng)中的文件版本不一致,而導致文件無法提交的情況;產生原因:當團隊協(xié)同工作的時候,多位團隊成員同時操作一個文件;團隊成員A操作完成后,將該文件提交到SVN上,此時其他團隊成員的本地文件與SVN上的文件版本不一致,當團隊成
15、員B操作完成并對文件進行提交操作時,就會產生沖突;沖突的解決方案:面對文件沖突,我們可以選擇以下兩種方式解決沖突:使用工具解決沖突;用revert放棄所做的修改; 解決沖突后,要選擇已解決的(resolved)解決后,帶問號的文件將自動刪除,最后選擇commit提交到SVN;4、SVN的日常使用發(fā)生沖突 當兩個人同時編輯一個文件時,一個人先提交,后一個人再提交時就會出現(xiàn)沖突,并提示你必須先更新你的工作拷貝后才能進行修改。如下圖所示:4、SVN的日常使用出現(xiàn)沖突的文件自己修改過的原始文件其他人修改過的文件中沖突的地方將使用“”標示出來,文件除了你的最新修改外沒有別的東西;查找以字符串”標示出來當
16、你更新你的工作副本時,你的Subversion客戶端從服務器接收到的。這個文件對應與版本庫中的最新版本發(fā)生沖突后可以看到一些文件被修改過的標記 4、SVN的日常使用查看被修改過的記錄 4、SVN的日常使用解決沖突手工修改沖突的內容后,右鍵選擇“TortoiseSVN”的“Resolved”項,刪除沖突所產生三個文件(也可手動刪除這三個文件),最后選擇commit提交到SVN;如下圖所示返回4、SVN的日常使用分支與標記、合并分支與標記:版本控制系統(tǒng)的一個特性是能夠把各種修改分離出來放在開發(fā)品的一個分叉線上,這條線被稱為分支。特性分支:分支經常被用來試驗新的特性,而不會對開發(fā)有編譯錯誤的干擾。當
17、新的特性足夠穩(wěn)定之后,開發(fā)品的分支就可以合并回主分支里(主干)。維護分支:分支也常用來維護產品的歷史版本。發(fā)布前分支:在發(fā)布前創(chuàng)建分支以更快在主干上增加新特性。 在這里我們推薦只為發(fā)布創(chuàng)建長周期分支。在這種模式下,新開發(fā)的代碼總是被提交到主干上。只有在發(fā)布分支上修改缺陷時才需要合并,而且這種合并是從分支合并回主干。而只有非常嚴重的缺陷修復才會從主干合并到發(fā)布分支上。這種模式使代碼一直處于可發(fā)布狀態(tài)。版本控制系統(tǒng)的另一個特性是能夠標記特殊的版本(例如某個發(fā)布版本),所以你可以在任何時候重新建立一個特定的構件和環(huán)境。這個過程被稱作標簽。在 SVN 中分支和標記實際上都是一個復制操作,區(qū)別是一個可以
18、繼續(xù)修改內容,一個禁止修改內容。合并:在一些階段,你可能需要將分支上的修改合并到主干,或者將主干的修改合并到分支。4、SVN的日常使用分支與合并(分支)在維護一個項目組的文檔,有一天另一個項目組也要這份文檔,但有些不同的改動,因為他們有不同的需求,這時就可以對這個文檔建立一個分支。如果兩個項目的并發(fā)開發(fā)是基于同一個原始版本的拷貝,而這兩個項目又互不相擾的獨立開發(fā),那么這兩條開發(fā)線對于原始版本來說,就是項目的分支,而原始版本就是項目的主干。點擊“Branch/Tag”進入下圖界面:選擇路徑填寫狀態(tài)信息新建分支新建分支對話框建好的分支返回4、SVN的日常使用分支與合并(合并)分支完成各自的工作后,
19、最后還需要把分支合并到項目的主干上來。合并的方式有兩種:A 將主干的改動合并到分支上,需要在分支的工作副本下進行合并,合并的范圍是需要從主線上上次的版本(建立分支時)到當前主線上的最新版本。但如果主線和分支都更改了相同的文件,合并后會產生沖突,然后可以解決沖突、提交;B 相反,如果是從分支合并到主干上,則應在主干的工作副本下進行合并,合并的范圍從分支上上次合并的版本到當前分支上的最新版本,合并后可能會產生沖突,原因如上種情況所述。然后解決沖突后提交。點擊“Merge”,進入下圖所示:點擊“Merge”便可進行合并,如果是將主干合并到分支也是執(zhí)行相同的操作。需要提醒的是,不管是分支還是合并,每一
20、次的操作都會導致版本號的變化,這些變化都保存在log日志中,以便我們隨時查閱并恢復到以前的版本。4、SVN的日常使用分支與合并(合并)返回4、SVN的日常使用refresh刷新、delete刪除刷新:刷新服務器目錄如下左圖;刪除:刪除文件后,鼠標選中文件夾右鍵選擇“SVN Commit”項進行提交,提交方式同增加文件的提交方式,提交后則將新文件從配置庫中刪除,如右圖:返回4、SVN的日常使用rename重命名重命名:鼠標選中要修改的文本文件右鍵選擇“TortoiseSVN”的“rename”項,系統(tǒng)彈出如下信息框(左圖),在New name框中輸入新文件名后點擊“OK”按鈕(右圖),將出現(xiàn)重命
21、名后的文件,原文件被刪除,將它們提交后重命名生效; 返回重命名4、SVN的日常使用Get lock(鎖定)當項目需要時可以在你本地硬盤中將你遷出的內容進行鎖定,選中要被鎖定的文件右鍵選擇“TortoiseSVN”的“Get lock”項進行鎖定(鎖定后他人將無法修改此文件),系統(tǒng)彈出鎖定信息框,如下圖所示:點擊“OK”按鈕提交即可文本文件鎖定,鎖定后顯示如下: 返回鎖定4、SVN的日常使用release lock(解鎖) 解鎖時選中被鎖定的文件右鍵選擇“TortoiseSVN”的“Release lock”項進行解鎖;返回鎖定4、SVN的日常使用Switch 切換文件創(chuàng)建分支后,可通過Swit
22、ch選擇在主干工作或者在分支工作;在你的本地硬盤選中已從配置庫中獲取的文件,右鍵選擇“TortoiseSVN”的“Switch”項,系統(tǒng)提示需要選擇配置庫中的路徑,如下左圖所示:點擊“OK”按鈕,則將你選中的文件夾內容更新為你輸入的路徑中的內容,轉換訪問路徑。 返回注意(1)切換操作起來就象更新,因為它沒有丟棄我們在本地做的修改。 (2)在工作副本里,當我們進行切換的時候,任何沒有提交過的修改都會被混合,所以需要在切換前進行提交。查看詳情4、SVN的日常使用Relocate 重新定位它與switch的不同在于switch用于在同一個版本庫內不同分支之間的切換,當服務器地址或者版本庫名稱發(fā)生變化
23、時,可以用命令來更新工作拷貝;而relocate用于版本庫訪問地址變更時,重新定位版本庫;例如,由于SVN服務器更換到另一臺主機上,這是SVN服務器的地址改變了,那么各客戶端就無法連接SVN服務器了,這時各客戶端就需要執(zhí)行relocate,將本地工作區(qū)的連接到新的服務器上去而如果同一個版本庫內,如果有多個分支,比如你現(xiàn)在正在trunk上開發(fā),但需要切換到某個分支上開發(fā),那么你可以用switch來進行這個切換操作,這時SVN會比較trunk和這個分支之間的差異,將差異部分傳送到你的本地工作區(qū),而不用將整個分支傳送給你,從而避免巨量數(shù)據的傳輸。switch操作之后,你所進行的update、comm
24、it操作都變成了針對那個分支,當你在分支上的工作完成后,還可以再次switch回trunk。 返回4、SVN的日常使用Import導入、Create(Apply)patch創(chuàng)建及應用補丁Import導入文件或目錄操作的介紹,Import 導入操作對話框,見下圖,點擊“OK”后,就可以把本地文件或文件夾導入到所選的服務器端目錄下;瀏覽選擇服務器端目錄不要忘記寫日志返回Create(Apply)patch創(chuàng)建及應用補?。喝绻硞€文件沒有修改的權限,但是迫于形勢,又必須對這個文件進行修改,這時可以用Create patch 創(chuàng)建補丁,然后將創(chuàng)建的補丁發(fā)給對此目錄有寫權限的工作人員,相關人員執(zhí)行App
25、ly patch后,修改就會被提交到服務器上。4、SVN的日常使用Export導出(去除svn標志)選中需要取消SVN標記(脫離版本控制)的文件夾(其子文件夾也要取消相應標記)右鍵選擇“TortoiseSVN”的“Export”項,系統(tǒng)彈出導出路徑的信息框,如下圖所示:選定你要導出的路徑,若選擇E盤則會保存一份干凈的文件到E盤。選擇上圖中的“Export unversioned files too”復選框表示將本地不處于版本控制下的文件一起導出;返回4、SVN的日常使用Setting 設置在桌面指定位置右擊選中設置,用戶可以根據需要選擇系統(tǒng)的語言顯示、清除已保存的數(shù)據、顯示特征標志等;例如:系
26、統(tǒng)語言顯示選項4、SVN的日常使用Setting 設置 特征標志選擇:不少用戶在使用SVN“檢出”功能后,本地工作副本沒有出現(xiàn)特征符號綠色勾或其他特征符號,這是由于系統(tǒng)無法識別默認的狀態(tài)緩存,需要人工手推選擇狀態(tài)緩存方式,改變狀態(tài)緩存方法,在設置中選擇“外觀與樣式”的“圖標疊加”模塊,再在“狀態(tài)緩存”中選擇“Windows外殼; 保存清除;在對系統(tǒng)保存認證后相應需要對認證進行清除,清除功能仍然在設置模塊中,在保存清除中共可以對本地四種已保存數(shù)據進行清除,分別有URL歷史記錄、日志信息、窗口大小、認證數(shù)據,在對這些數(shù)據完全清理后系統(tǒng)自動恢復到“零”狀態(tài)。因此,用戶在離機后也別忘記將保存認證數(shù)據清除掉,以保障資料的安全性,4、SVN的日常使用Setting 設置SVN系統(tǒng)有一個似過濾器的功能,在本地工作副本中用戶可以根據需要過濾一些不需要上傳到服務器的文件,這個功能就是“全局忽略樣式”,例如:忽略上傳文件;忽略樣式對提交文件擴展名進行選擇性忽略,忽略格式通常以*.X形式被系統(tǒng)識別,各條目之間以空格分隔。注意:當用戶在本地工作副本中對新添加文件采用了系統(tǒng)添加功能操作,忽略樣式功能對本地副本中的文件將不起作用;另外還有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 把握2024年計算機基礎考試要點試題及答案
- 酒店防控疫情培訓課件
- 2025年小學語文考試支持材料試題及答案
- 2024年汽車維修工安全知識考核試題及答案
- 思維導圖的小自考漢語言考試試題及答案
- 2024年汽車維修工在團隊中的角色與責任試題及答案
- 校園法治安全教育
- 影響二手車流通率的因素分析試題及答案
- 2024年教育研究統(tǒng)計試題答案
- 經典藥物作用試題及答案
- 2025年福建省中考數(shù)學模擬試題(原卷版+解析版)
- 小學生衛(wèi)生知識小常識
- 成都設計咨詢集團有限公司2025年社會公開招聘(19人)筆試參考題庫附帶答案詳解
- 2025年江蘇太倉市文化教育投資集團有限公司招聘筆試參考題庫附帶答案詳解
- 廣東省中山市2024-2025學年九年級上學期期末語文試題
- 裝飾裝修木工施工合同
- 2025年全球及中國雙金屬氰化物(DMC)催化劑行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年國家林業(yè)和草原局直屬事業(yè)單位招聘應屆畢業(yè)生231人歷年高頻重點提升(共500題)附帶答案詳解
- 跨欄跑技術教學課件
- 產業(yè)鏈韌性理論研究新進展與提升路徑
- iso28000-2022供應鏈安全管理手冊程序文件表單一整套
評論
0/150
提交評論