作者:張凱迪 /有勁生物科技

 

每當我們要編輯文件的時候,如果同時也想要保留舊版的檔案,最簡單的方式我們會複製不同的資料夾或是檔案名稱來標示,像是我們會用日期或是人名來做分類。但是長期來說,這樣的命名方式常常會產生一些問題,像是可能會忘記某個資料夾或是檔案究竟做了什麼編輯,哪些檔案是一樣的,哪一些檔案比較新。有時候我們還會遇到像是最新的檔案需要與之前某一個檔案整併,或是整併某幾個人的各自編輯的檔案,如果這只由單一個人編輯的話也許還可以保持一致性,但是如果是需要經過多人反覆編輯的話會是一個惱人的工作,更糟的是我們可能覆蓋掉某人編輯的檔案。這時我們會藉由一個專門的版本控制軟體來協助這些工作流程,也許可以減輕我們的負擔。

 

圖一、使用資料夾名稱做版本管理

171011_1.png

圖片來源:James Chang /有勁生物科技

 

版本控制為一種追蹤異動及控制異動的工作流程。版本控制在現在的各個行業領域都很需要,除了軟體開發工程或是軟體品質流程需要外,像是文章編輯、影像編輯、工業設計圖稿、網頁設計等行業都需要版本控制。每當我們做的編輯發生問題時,版本管理可以幫助我們回顧檢視過去編輯的內容以及誰更動了這些內容。其實我們使用的許多軟體,像是MS Word或是Google doc也將版本管理程式內建到本身功能,因此我們可以輕易選擇會到上一步狀態,或是恢復到先前編輯的版本。

 

不同的行業使用版本控制時,也會有不同的策略。舉例來說,由於軟體開發的工作本身比較煩雜,管理一行行程式碼的版本控制更是煩雜,如下圖所示他的修改記錄可能涉及版本同步編輯 (一般稱為branch),之後也會涉及反覆合併等工作。

 

 

圖二、常用版本編輯的分支策略

171011_2.png

圖片來源: Vincent Driessen, <<A successful Git branching model.>>  January 05, 2010 (http://nvie.com/posts/a-successful-git-branching-model/)

 

 

版本控制軟體有很多。早期很多人會使用CVS (Concurrent Versions System),不過因為這在分析大量不同資料時花的時間較長,以及在資料整併時比較缺乏容錯機制,後來有一陣子另一個軟體 Subversion變得比較流行。最近則是比較強調分散式架構,分支合併管理較完整的git變得比較流行,這軟體的出現也讓多人協作的工作變得比較容易實現。網路服務github也整合了強大專案管理以及git功能,提供在開發與創作專案上的完整追蹤方案。多媒體方面,則有軟體公司Adobe提供Bridge多媒體資產管理軟體整合版本管理機制。

 

 

圖三、github提供完整的開發流程平台

171011_3.png

圖片來源: GitHub Enterprise  (https://enterprise.github.com/home)

 

 

不過版本管理軟體只是一個簡便文件改版的工具,一般來說尚需依各種工作流程來導入版本管理機制。也由於版本管理的機制尚稱複雜,像是git的功能與指令眾多,還是要花不少時間來了解其機制與操作。

 

 

參考文獻

1.  Vincent Driessen, <<A successful Git branching model.>>  January 05, 2010 (http://nvie.com/posts/a-successful-git-branching-model/)

2.  Pro Git book (https://git-scm.com/book/en/v2)

 

 

 

 

官網用CC創用_SA.png

arrow
arrow

    Yourgene Health 發表在 痞客邦 留言(0) 人氣()