程式碼版本控制之SVN

拜人月神話讀書會之賜,學到了像軟體工程的事「版本控制 」

所謂隔行如隔山+江湖一點訣

所以,沒有人點醒 是完全不會去動這一個東西,也不得其門而入

版本控制維基百科的介紹

摘錄維基的術語部份

術語

基線(Baseline)
基線是軟體文檔或源碼(或其它產出物)的一個穩定版本,它是進一步開發的基礎。[1]
檔案庫(Repository)
存儲檔案的新版本還有歷史資料的地方,通常是在伺服器上。有時候也叫Depot(像是在SVKAccuRev還有Perforce中)
工作版本(Working copy):從檔案庫中取出一個本地端(客戶端)的複製,針對一個特定的時間或是版本。所有在檔案庫中的檔案更動,都是從一個工作版本中修改而來的,這也是這名稱的由來。觀念上,這是一個沙盒
提交(Commit)
將本地端的修改送回檔案庫。(由版本控制軟體處理「跟上次更動相比,哪個檔案又被更動」的事)
變更(Change)
對一份文件作的特定更動。
變更記錄(Change List)
取出(Check-Out)
從檔案庫取出檔案到本地端(客戶端)。
更新(Update)
將檔案庫的修改送到本地端(與送交相反)
合併(Merge / Integration)
合併各個改變。
版次(Revision)
一個revisionversion指的是一系列版本變遷的其中之一。
匯入(Import)
匯出(Export)
衝突(Conflict)
當兩方更動同一份文件會發生衝突。

在此,介紹的東西,主要是用Google Code + TortoiseSVN
其實,也沒有要介紹啦!裝一裝就會了!^^

TortoiseSVN
教學
下載

整合在Windows的右鍵中,隨時都可以做版本控制
(右鍵真是太可怕了)

再來就是專案的規劃了!
因為我還在使用古董Visual C++ 6這樣的非主流工具,所以要找到適當的教學或技巧,要靠哆啦A夢的時光機是一件不簡單的事,但是,還是讓我在使用考古技巧Google上搜尋到了一點蛛絲馬跡。

PCMan的專案就是用這個寫的,加上它是OpenSource
介紹
專案下載

可以發現它的專案規劃還滿井然有序的。
每一個組件專案,就直接放在整體專案的裡面(和Debug、res...放在一起)
而Code就直接呼叫

唯一的差別就是在#include 中要加路徑。
#include "../abc/abc.h"

優點
1. 用起來都一樣,爽度很高。
2. 在更新大專案或其它有相關性的小專案時,每一個子專案中的code,也只有維持一個版本。(一個更新,全部更新)

搭配SVN可以做分支發展管理。

沒有留言:

張貼留言

(什麼是留言欄訊息?)