欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
TortoiseSVN使用說(shuō)明

TortoiseSVN:Subversion客戶(hù)端
1.           引言

·         團隊開(kāi)發(fā)?

·         修改文件而他人也在改?你修改的內容丟失?

·         保存了文件可又后悔了?想得到幾天前的版本?

·         發(fā)現了bug,想知道bug何時(shí)引入的?

這些問(wèn)題都遇到了?那就使用TortoiseSVN吧。TortoiseSVN是Subversion的客戶(hù)端。Subversion是針對CVS的不足而開(kāi)發(fā)的版本控制系統。
2. 基本概念
檔案庫Repository
Subversion是版本管理的后臺系統,其核心是保存數據的檔案庫-repository。 檔案庫用分層的“文件-目錄”文件系統數來(lái)存儲數據。連接到檔案庫的客戶(hù)能讀寫(xiě)數據。檔案庫記錄了你的每一次修改!客戶(hù)端可以從檔案庫中取到過(guò)去的版本。

圖2.1. 典型服務(wù)器/客戶(hù)機模型


版本模型Versioning Models
基本問(wèn)題:共享數據而不相互覆蓋?

文件共享的問(wèn)題The Problem of File-Sharing
在合作開(kāi)發(fā)中文件共享的問(wèn)題是顯而易見(jiàn)的。

圖 2.2. 要避免的問(wèn)題


鎖定-修改-解鎖The Lock-Modify-Unlock Solution
Visual SourceSafe采用的就是這種模型。

Figure 2.3. 鎖定-修改-解鎖方案


問(wèn)題:

·         鎖定可能引起管理問(wèn)題: 如忘記解鎖別人無(wú)法使用。

·         鎖定造成不必要的串行作業(yè)。

·         鎖定可引起安全問(wèn)題。

拷貝-修改-合并The Copy-Modify-Merge Solution
Subversion和CVS等采用拷貝-修改-合并模型。項目成員從檔案庫讀取個(gè)人的工作拷貝,所有項目成員并行地在工作拷貝上工作,然后合并在一起形成新的版本(version)。

圖 2.4. 拷貝-修改-合并方案


Figure 2.5. ...Copy-Modify-Merge Continued


如果修改不重疊,TortoiseSVN可自動(dòng)合并。修改重疊則引起沖突(conflict)。沖突只能靠手工修改!

這種模型好像很混亂,但實(shí)際上很好用。解決沖突的時(shí)間大大小于因鎖定而等待的時(shí)間。解決沖突的最好辦法是溝通。

 

實(shí)際操作Subversion
工作拷貝Working Copies
Subversion的工作拷貝就是包含文件的本地目錄樹(shù),與一般目錄的樹(shù)狀結構相同,可以進(jìn)行任意的工作!工作結束后可將新的文件“發(fā)布”到檔案庫。

工作拷貝中包含了由Subversion創(chuàng )建和維護的一個(gè)特殊的子目錄.svn ,該目錄保存了重要的信息。不要刪除這個(gè)目錄!

例如,假定你的檔案庫包含兩軟件項目:paint和calc。

圖 2.6. 檔案庫文件系統


用取出(checkout)得到工作拷貝。

Repository URLs:檔案庫URL

Subversion的檔案庫借助不同方法得到:本地磁盤(pán)、網(wǎng)絡(luò )協(xié)議等:

Table 2.1. Repository Access URLs

Schema
 Access Method
 
file:///
 本地磁盤(pán).
 
http://
 透過(guò)Apache.
 

例:

File:///c:/svn/prj/template ,

File:///c:/svn/prj/template/Dist   

c:/svn/prj/template是檔案庫的目錄,Dist是檔案庫的子目錄名稱(chēng)

http://build:88/prj/template

http://build:88/prj/template/Dist

http://build:88是Apache設置的URL,prj是通過(guò)Apache設置的位置,template是檔案庫名稱(chēng),Dist是目錄名

版本Revisions
svn commit 操作送交修改。檔案庫接受一次送交后,在文件系統樹(shù)創(chuàng )建新的狀態(tài),稱(chēng)之為版本revision。每個(gè)版本是一個(gè)遞增的自然數。

圖 2.7. 檔案庫


全局版本號

版本號代表整個(gè)檔案庫而非單個(gè)文件!

 

工作拷貝如何跟蹤檔案庫?

Subversion將下列兩種管理信息記錄在.svn/:

·         工作版本 working revision

·         從檔案庫更新的時(shí)間。

通過(guò)這些信息,在與檔案庫交換信息后,Subversion可得出文件的四種狀態(tài):

l         未修改,新版本,送交無(wú)效

l         本地修改,新版本,可送交,更新無(wú)效

l         未修改,但在檔案庫中已修改,過(guò)期,送交無(wú)效,可更新

l         本地修改,在檔案庫中已修改,過(guò)期。先更新,修改沖突,再送交。

3. 服務(wù)器設置
基于A(yíng)pache的服務(wù)器
這是設置Subversion服務(wù)器的最好方法。優(yōu)點(diǎn):

l         利用WebDAV

l         用瀏覽器瀏覽檔案庫

l         認證

l         安全

本地檔案庫
用TortoiseSVN創(chuàng )建檔案庫
圖 3.1. 沒(méi)有版本控制的文件夾TortoiseSVN菜單


1.    進(jìn)入資源管理器

2.    創(chuàng )建檔案庫的子目錄,如C:/SVNRepository。

3.    在新建的目錄中右鍵 TortoiseSVN->在此建立檔案庫Create Repository here....

可用FSFS和BDB兩種格式創(chuàng )建。

注意:不要編輯檔案庫中的文件!

本地進(jìn)入方式:file:///C:/SVNRepository/

檔案庫備份
最簡(jiǎn)單的辦法是備份檔案庫文件夾!

推薦辦法:

svnadmin hotcopy path/to/repository path/to/backup --clean-logs4. 日常應用指南
操作TortoiseSVN
圖 4.1. TortoiseSVN右鍵菜單


所有TortoiseSVN命令均可以在資源瀏覽器的右鍵菜單中執行。

認證
如果檔案庫設置了權限保護,則會(huì )彈出認證對話(huà)框。

圖 4.2. 認證對話(huà)框


如果使用Windows域認證,用戶(hù)名前需要包括域名,如MYDOMAIN/johnd.

數據匯入檔案庫Importing Data Into A Repository
檔案庫結構Repository Layout
根據不同需要來(lái)建立檔案庫的結構:

1.    創(chuàng )建新的空文件夾。

2.    創(chuàng )建目錄結構 – 先不放文件!

3.    右鍵菜單,點(diǎn)擊匯入…(Import...)將結構加入到檔案庫中。

注意:文件夾的名字不匯入檔案庫。通過(guò)檔案庫瀏覽器(Repo Browser)可直接瀏覽檔案庫結構。

匯入Import
在將項目文件匯入到檔案庫前,先進(jìn)行下列操作:

1.    刪除與項目無(wú)關(guān)的中間文件如生成的臨時(shí)文件*.obj等。 如果設置了忽略的文件類(lèi)型,或忽略的目錄,可不刪除。

2.    在文件夾中組織文件。

在資源瀏覽器中進(jìn)入項目頂層文件夾,右鍵得到快捷菜單,選擇匯入… (Import...) ,出現對話(huà)框:

圖 4.3. 匯入對話(huà)框


在對話(huà)框中輸入倉庫的URL。

匯入信息(import message)作為記錄信息。

注意

只要點(diǎn)擊確定OK TortoiseSVN將把整個(gè)目錄及目錄內的文件加入到檔案庫中。頂層文件夾的名字不會(huì )加入到檔案庫中,但其他子文件夾的名字均加入以保持檔案庫的結構。該項目的文件現在處在檔案庫版本控制中。請注意:目前的本地項目文件夾不處在版本控制下!要得到版本控制,必須取出checkout檔案庫得到工作拷貝!

特殊文件Special Files
有時(shí)你有一個(gè)包含用戶(hù)特定數據的文件需要在版本控制下,這意味著(zhù)每個(gè)開(kāi)發(fā)人員需要修改它以適應他的本地設置,用戶(hù)每次送交均要保存這文件的變化,因此對這類(lèi)文件進(jìn)行版本控制很困難。

對此建議使用template 文件,創(chuàng )建一共文件,它包含所有開(kāi)發(fā)人員需要信息,將它加入到版本控制下,每個(gè)開(kāi)發(fā)人員均可取出這個(gè)文件, 復制并重新命名,然后修改就沒(méi)有問(wèn)題了。不需要加入版本控制的文件可通過(guò)設置Subversion 特性(property) svn:ignored 來(lái)忽略。

 

取出工作拷貝Checking Out A Working Copy
從檔案庫執行取出(checkout)就能得到工作拷貝。

在資源瀏覽器中選定將要存放工作目錄的拷貝,右鍵彈出快捷菜單,選擇C出…Checkout...,將出現對話(huà)框:(如果該目錄已在版本控制下,則沒(méi)有取出而是更新(Update)和送交(Commit))

圖 4.4. 取出對話(huà)框


如果文件夾不存在,會(huì )自動(dòng)創(chuàng )建。

注意
你只能將文件取出到一個(gè)空目錄里。如果你想取出剛匯入的文件,Subversion將報錯。你只能將文件取出到另一個(gè)目錄或先刪除已經(jīng)存在的源文件再執行取出。

 

匯出Exporting
如果不想包含.svn ,可將檔案庫匯出到一個(gè)空目錄。這時(shí)所有文件不處在版本控制下。方法:右鍵,選擇TortoiseSVN-〉 匯出…(Export...)。

狀態(tài)信息Getting Status Information
通過(guò)圖標可知道文件的狀態(tài):修改/新增/刪除/換名。

圖標
圖 4.5. 資源瀏覽器顯示的圖標

 

新近取出的工作拷貝。Subversion狀態(tài)是正常normal.


文件已修改,需要送交到檔案庫。Subversion狀態(tài)是已修改modified。


在更新文件后自己的修改與他人的修改沖突。狀態(tài)是沖突conflict。


將加入到版本控制的文件或文件夾。狀態(tài)是新增added 。


文件(夾)將從版本控制中刪除,版本控制將忽略這些文件(夾)。狀態(tài)是刪除deleted。

 

檔案庫狀態(tài) Status Of The Repository
圖 4.6. 檢查更新


想知道別人修改了哪些文件?用檢查更新..(Check For Updates...) 命令。彈出的對話(huà)框將顯示出你的修改或檔案庫中別人的修改,這樣可在更新前檢查是否有沖突。

送交Commit.... 命令也可用來(lái)顯示本地的修改,如果不想實(shí)際送交到檔案庫,點(diǎn)擊取消Cancel 即可。

將別人的改動(dòng)更新到你的工作拷貝
圖 4.7. 已完成更新的進(jìn)度對話(huà)框


有時(shí)你想將他人的改動(dòng)合并到你本地的工作拷貝。從服務(wù)器上取改動(dòng)到本地的過(guò)程叫更新updating。 更新也許是單個(gè)文件、或選擇的一組文件、或整個(gè)目錄。在資源瀏覽器中選擇待更新的文件或目錄, 右鍵并選擇更新Update ,他人的修改將合并到你本地的文件中,你所做的改動(dòng)保存在同一文件中。這時(shí)檔案庫沒(méi)有受變化,即合并只在本地進(jìn)行。

如果你和他人改動(dòng)的是相同部分但改動(dòng)不一樣,就會(huì )在更新過(guò)程中產(chǎn)生沖突 conflicts。沖突在對話(huà)框中用紅色表示,雙擊后用外部編輯器解決沖突。

TortoiseSVN也允許你將工作拷貝更新到指定版本。用更新至版本Update to Revision... 命令,在彈出的對話(huà)框中輸入指定的版本號即可。

注意
如果你更新到指定版本,再送交是將出現out of date 錯誤!如果你想撤銷(xiāo)修改并從以前的版本開(kāi)始工作,你必須使用從“顯示記錄”對話(huà)框中選擇復原自此版本以來(lái)的變更Revert changes from this revision 命令或使用快捷菜單中的合并Merge... 菜單命令。

更新至版本Update to Revision... 命令允許復原至低版本。比如你的工作目錄版本是100,你想復原至版本50-直接填寫(xiě)在復原對話(huà)框中填寫(xiě)復原至版本50。通常,不復原單個(gè)文件,確實(shí)需要,從記錄對話(huà)框(Log)選擇儲存版本至Save revision to... 命令。

解決沖突Resolving Conflicts
有時(shí)你從檔案庫更新文件會(huì )有沖突。沖突產(chǎn)生于兩人都修改文件的某一部分。解決沖突只能靠人而不是機器。當產(chǎn)生沖突時(shí),你應該打開(kāi)沖突的文件,查找以<<<<<<<開(kāi)始的行。沖突部分被標記:

<<<<<<< filename    your changes=======    code merged from repository>>>>>>> revisionSubversion為每個(gè)沖突文件產(chǎn)生三個(gè)附加文件:

filename.ext.mine

更新前的本地文件。

filename.ext.rOLDREV

你作改動(dòng)的基礎版本。

filename.ext.rNEWREV

更新時(shí)從檔案庫得到的最新版本。

使用外部合并工具或使用快捷菜單的編輯沖突Edit Conflict 命令來(lái)解決沖突。然后從快捷菜單中執行已解決Resolved 命令,將改動(dòng)送交到檔案庫。請注意,解決命令并不解決沖突,而僅僅是刪除filename.ext.mine and filename.ext.r* 文件并允許你送交。

改動(dòng)送到檔案庫Sending Your Changes To The Repository
這個(gè)過(guò)程叫送交committing 。 在送交前需要確認工作拷貝是最新的。用更新Updates 或先用檢查更新Check For Updates 檢查變更了的文件。如果你的工作拷貝已更新且沒(méi)有沖突,可用快捷菜單中的送交Commit... 完成送交過(guò)程。

圖 4.8. 送交對話(huà)框


如果某文件不想在版本控制下,取消復選框即可。

送交框中不需要控制的文件
許多不需要版本控制文件如obj文件等也出現在送交對話(huà)框中,解決辦法:

·         在服務(wù)器端編輯配置文件config,將不需要控制的文件 (或通配符)添加到排除文件列表。其影響是全局的。

·         通過(guò)快捷菜單命令Add to ignore list將文件添加到svn:ignore 列表。只影響到本目錄。

圖 4.9.送交進(jìn)度


 

加入新文件或目錄Adding New Files And Directories
圖 4.11. 加入快捷菜單


開(kāi)發(fā)中新增文件或文件夾,如需要加入到版本控制,選擇加入Add;如果不想要加入到版本控制,選擇加入忽略列表Add To Ignore List

Ignoring Files And Directories 忽略文件和目錄
圖 4.12. 不需要版本控制快捷菜單


大多數項目會(huì )有一些文件(夾)不需要版本控制,如編譯產(chǎn)生的*.obj, *.lst,等。每次送交,TortoiseSVN提示那些文件不需要控制,挺煩的。

最好是在項目中加入忽略列表。

全局忽略列表The Global Ignore List
忽略文件的另一個(gè)辦法是加入全局忽略列表global ignore list。 全局忽略列表是客戶(hù)端特性,他影響所有項目,但只在該客戶(hù)端PC起作用。通常用 svn:ignore 會(huì )更好因為它對所有客戶(hù)起作用。

刪除、換名和移動(dòng)Deleting, Renaming And Moving
從快捷菜單的TortoiseSVN 子菜單進(jìn)入刪除、改名等操作

Figure 4.13. Explorer context menu for versioned files


如果你想在工作拷貝中移動(dòng)文件:

1.    選擇待移動(dòng)的文件和文件夾;

2.    按住左鍵拖動(dòng)right-drag 文件(夾)到跟蹤拷貝內的新地方;

3.    松開(kāi)左鍵

4.    在彈出菜單中選擇move files in Subversion to here

如果你在資源管理器中象往常那樣刪除了文件而沒(méi)有在版本控制中刪除,送交對話(huà)框將提示這些文件并讓你在送交前在版本控制中刪除它們。

撤銷(xiāo)修改Undo Changes
如果你想撤銷(xiāo)自上次更新后所作的改動(dòng),選擇文件,左鍵right click,在快捷菜單的TortoiseSVN子菜單中選擇復原revert ,在對話(huà)框中選擇你想要復原的文件,點(diǎn)擊確定OK.

圖 4.14. 復原對話(huà)框


撤銷(xiāo)已送交的變更Undoing Changes which have been Committed
復原Revert 只撤銷(xiāo)本地的改動(dòng),而不撤銷(xiāo)已送交文件的改動(dòng)。如果你想撤銷(xiāo)某一版本的全部變更,可從版本記錄對話(huà)框中處理。

Revision Log Dialog 版本記錄對話(huà)框
對每次送交的更改,你必須同時(shí)提供更改的記錄,以便日后能找出為什么/如何改動(dòng)。記錄對話(huà)框

記錄對話(huà)框顯示所有記錄信息并顯示在3個(gè)格里:

·         頂格顯示版本號,包括日期,送交者等。

·         中格顯示上格所選版本的完整記錄Log。

·         底格顯示該版本改動(dòng)的文件列表。

在頂格還提供快捷菜單!

彈出記錄對話(huà)框
圖4.15. 記錄對話(huà)框


彈出Log記錄對話(huà)框的方式:

·         從TortoiseSVN 子快捷菜單

·         從屬性頁(yè)

·         更新進(jìn)度對話(huà)框。

分支/標記Branching / Tagging
版本控制的作用是能將變更隔離成獨立的方向,稱(chēng)之為分支branch. 分支用于主發(fā)布前嘗試新特性。

另一特性是標記特殊版本,以利于在任何時(shí)間重新創(chuàng )建環(huán)境。這個(gè)過(guò)程叫標記tagging.

Subversion并沒(méi)有特別的用于分支和標記的命令,而是用cheap copies代替。Cheap copies有點(diǎn)像連接links。

在由工作拷貝創(chuàng )建branch/tag前,你必須確認已更新檔案庫。

創(chuàng )建branch/tag非常簡(jiǎn)單:

圖 4.18. 分支/標記對話(huà)框


從工作目錄父文件夾點(diǎn)出快捷鍵,選擇分支/標記Branch/Tag... ,輸入檔案庫中存放分支/標記路徑的URL,在原來(lái)輸入trunk 的地方輸入tags/tagname ,這里tagname 可能是ProjectName_v1.10.

    C:/SVNRepository/trunk/ProjectName/...    C:/SVNRepository/trunk/AnotherProject/...    C:/SVNRepository/branches/ProjectName_SpecialDebugBuildBasedOn_v1.09/    C:/SVNRepository/tags/ProjectName_v1.10點(diǎn)擊OK ,Subversion在你選擇的檔案庫的目錄內創(chuàng )建了一個(gè)cheap copy。創(chuàng )建Branch / Tag不影響你的工作目錄。

 

取出或切換…To Checkout or to Switch...
…這確實(shí)是個(gè)問(wèn)題!由于Checkout取出了分支中的所有數據, 轉向Switch... 只是轉移你工作目錄中變化了的數據。

為了能在新的的工作拷貝上工作,你可以:

·         再次執行取出Checkout 。你可以取出任意次到你本地硬盤(pán)上的任何地方。

·         轉換到新創(chuàng )建的檔案庫拷貝上。只需執行切換Switch...

在下面的對話(huà)框中輸入你的分支的URL,保留“Head Revision”點(diǎn)擊 OK,你的工作目錄將切換到新的分支/標記branch / tag.

切換與更新,不會(huì )丟失你在本地所作的修改,而是將未送交的修改合并。

Figure 4.19. 切換對話(huà)框


分支與標記的不同點(diǎn):

·         標記用于創(chuàng )建項目特殊階段的靜態(tài)快照 – 不再用于開(kāi)發(fā) – 而分支是用于開(kāi)發(fā)的。這是我們建議使用/trunk /branches /tags 的理由。

·         如果你在工作拷貝上修改并送交,則在分支的修改體現在分支上而不是主干上。。

將分支合并到主干上

圖 4.20. 合并對話(huà)框


(略)

創(chuàng )建并應用補丁Creating and Applying Patches
如果誰(shuí)都可以修改,項目將沒(méi)完沒(méi)了,永遠不會(huì )穩定下來(lái)。怎么辦呢?通過(guò)“補丁patch”!將補丁送交的具有寫(xiě)權限開(kāi)發(fā)團隊,他們先審查補丁,再決定是否送交到檔案庫。

補丁文件僅顯示工作拷貝和基礎版本的差異。

Creating a Patch File 創(chuàng )建補丁文件
首先你需要測試你的修改是否正確,然后用創(chuàng )建補丁Create Patch... 而不是使用送交Commit... ,這將創(chuàng )建包含改動(dòng)的文件。

 

Applying a Patch File 套用補丁文件
 

重新裝入工作拷貝Relocating a working copy
Figure 4.21. The Relocate Dialog


如果因為某種原因檔案庫修改位置,你需要使用重新定位命令。

 

檔案庫瀏覽器The Repository Browser
直接在檔案庫上工作!

圖 4.22. 檔案庫瀏覽器


進(jìn)入檔案庫瀏覽器后,使用快捷菜單!

誰(shuí)動(dòng)了我的奶酪?Who Changed Which Line?
Figure 4.28. 注解/譴責對話(huà)框


有時(shí)你不但要知道那些代碼改動(dòng)了,還要知道誰(shuí)改動(dòng)的!使用追根溯源(譴責)Blame... 即可!將Blame翻譯成譴責真不好,其意思只是追根溯源

圖 4.29. TortoiseBlame


使用內建在TortoiseSVN中的TortoiseBlame可非常方便地查看修改的歷史

Final Step 最后
TortoiseSVN是開(kāi)源項目,可通過(guò)http://svn.collab.net/repos/tortoisesvn/ 獲取最新的源代碼。這些源代碼是我們學(xué)習的極好的范本!

Enjoy it!

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Subversion快速入門(mén)教程
TortoisesSVN教程
Subvision SVN 服務(wù)端與客戶(hù)端的安裝_~JAVA開(kāi)發(fā)的天堂~
Windows下搭建Subversion 服務(wù)器
svn 右鍵菜單
SVN版本管理工具的安裝設置與使用 | IT宅.com
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久