SVN生命週期


在本章中,我們將討論有關版本控制系統的生命週期。在後面的章節中,我們將看到Subversion命令為每個操作。

建立資料庫:

該庫是開發人員儲存他們所有的工作一個中央地方。資源庫不僅儲存檔案,而且還變更歷史。這意味著它保持歷史是誰做的變化,何時和為什麼?

建立操作是用來建立一個新的資料庫。大部分的時候只有一次操作完成。當建立一個新的儲存庫,VCS將期待你說的東西,比如,想讓它被建立,它的名稱應該是什麼,以確定它。

檢出:

檢出操作用於從資源庫中建立一個工作副本。工作副本是一個私有工作場所的開發人員做他們的變化,後來就到儲存庫提交這些變化。

更新:

顧名思義更新操作是用來更新工作副本。此操作同步與儲存庫的工作副本。由於共用庫是由所有的團隊,其他開發人員可以提交他們的修改你的工作副本變成了舊的。

讓我們假設Tom 和 Jerry 兩個開發人員工作的一個專案。兩者檢出從庫中的最新版本,並開始工作。此時他們的工作拷貝與儲存庫是完全同步的。傑里完成他的工作非常有效,並提交自己的修改到版本庫。

現在,Tom 的工作副本是過時了。從資源庫中,更新操作將Jerry 的最新變化,將Tom 的工作副本更新。

執行更改:

檢出後可以做各種操作進行更改。編輯是最常見的操作。一個可以編輯現有的檔案,從檔案中新增/刪除的內容。

人們可以新增檔案/目錄。但隨即這些檔案/目錄不會成為儲存庫中的一部分,而不是將它們新增到掛起的更改列表,並成為後提交操作的庫中的一部分。

同樣,一個可以刪除的檔案/目錄。立即刪除操作,刪除檔案,從工作副本,但實際刪除檔案新增到掛起的更改列表和操作提交到儲存庫後所做的更改。

重新命名操作更改檔案/目錄的名稱。用於移動從一個地方到另一個儲存庫樹中的檔案/目錄移動操作。

 

回顧變化:

當檢出的工作副本或更新工作副本,然後工作副本完全同步與儲存庫。但是當工作副本的變化,它變得比庫新。這是很好的做法,審查更改,然後再提交操作。

狀態操作列出了已經取得的工作副本的修改。正如我之前提到的,只要做的工作副本的變化,所有這些變化成為掛起的更改列表的一部分。和狀態操作用於檢視掛起的更改列表。

狀態操作,只提供了一系列的變化,但不是關於他們的詳細資料。我們可以使用diff操作已作出的修改的工作副本中檢視詳細資訊。

修正錯誤:

讓我們假設一個改變自己的工作副本,但現在他要扔掉這些變化。在這種情況下,恢復操作會有所幫助。

恢復操作復原已作出的工作副本的修改。這是可能的一個或多個檔案/目錄恢復。也有可能整個工作副本恢復,在這種情況下,恢復操作會破壞掛起的更改列表,並會帶來工作副本返回到原來的狀態。

解決衝突:

在合併時,可能會發生衝突。但是,什麼是衝突?合併操作自動處理,可以做到安全的一切。一切被視為衝突。例如,如果“hello.c”檔案被修改的分支,並在另一個分支刪除?這種情況需要一個人作出決定。決心操作是用來幫助使用者數位的東西,並告知VCS衝突應如何處理。

提交更改:

提交操作是用來申請工作副本到版本庫的變化。此操作修改庫和其他開發人員可以通過更新他們的工作副本,看到這些變化。

之前提交一個掛起的更改列表新增檔案/目錄。這是改變的地方等待提交。有了提交,我們通常會提供一個紀錄檔訊息來解釋為什麼有人做了修改。此紀錄檔訊息的一部分的歷史資料庫。提交是一個原子操作。含義的成功,要麼全部提交或回滾。使用者永遠不會看到一半完成提交。