1. Svn/Git:
當在公司或實驗室進行項目開發的時候,不論是獨立開發還是處在項目團隊進行合作開發,合理地對項目源代碼進行管理是十分重要的。進入公司工作一年有余,有幸分別接觸了SVN和Git兩個版本控制工具,隨着項目的深入,目前已經完全使用Git進行項目管理。關於SVN和Git的區別,可以閱讀這篇文章:
http://www.oschina.net/news/12542/git-and-svn,文中指出了svn和git的主要區別為:
- Git是分布式的,SVN是集中式的;
- Git把內容按元數據方式存儲,SVN是按文件存儲;
- Git的分支和SVN的分支含義不同;
- Git沒有一個全局的版本號,而SVN有;
- Git的內容完整性要優於SVN。
對於在實驗室搞課題的同學或是對編程感興趣的人們,如果想在實驗室或家中就體驗這種類似於公司正規的源代碼管理,也是非常容易的。本文是受之前實驗室博士師兄的指點,並且結合自己的項目而寫的。
2. 兩步搭建SVN管理本地VtkTestProject
前提條件:本地已經安裝svn軟件。
SVN下載地址:http://tortoisesvn.net/downloads.html 。下載並安裝到本地電腦后。即可開始建立SVN本地服務器。
(1)在硬盤上建立一個文件夾,可以命名為LocalSVN。
然后在LocalSVN文件夾點擊右鍵,在右鍵菜單欄中選擇Create Repository here,如下圖所示:
(2)再在硬盤下建立一個文件夾,可以任意命名。由於筆者想建立VTK測試工程,因此文件夾命名為VtkTestProject。在該文件夾點擊右鍵,選擇SVN Checkout…,進行相關svn配置的載入。
在Checkout對話框,需要分別填入LocalSVN服務器的URL和Checkout的目錄路徑。
在這里分別填寫為:
URL of repository: file:///D:/LocalSVN,
Checkout directory: D:\VtkTestProject.
然后點擊OK即可開始Checkout。
Checkout完成后,會出現以上的提示框。由於LocalSVN還未提交過任何代碼,因此目前的版本號是0。如對話框中提示的:Completed At revision:0.
點擊OK后,可以看到剛才建立的VtkTestProject文件夾會出現一個綠色的圖標。則此時說明該文件夾已經建立了由LocalSVN服務器對源代碼進行管理的機制。
(3)工程項目的第一次本地SVN服務器提交
為了驗證該機制是否能夠正常運行。在VtkTestProject文件夾下建立vtk測試工程所需要的文件夾。如圖所示,建立Source文件夾和CMakeLists.txt。
可以看到這兩個文件夾上顯示藍色的問號標識。這是因為這兩個文件目前還未上傳至LocalSVN服務器。
在該目錄的空白處點擊鼠標右鍵,在菜單中選擇TortoiseSVN->Add…。接下來會出現添加文件選擇框。默認會把該目錄內所有的文件夾和文件選中,如圖所示。確認無誤后,點擊OK,則可以將選中文件全部加入待上傳隊列。
加入完畢后,可以看到在該目錄內的文件夾圖標變為藍色的加號。
在空白處再次點擊右鍵,在菜單中選擇SVN Commit…
在提交對話框,在上側的編輯欄需要填寫本次提交的更改message,這里寫為:
VtkTestProject的第一次提交。下側則列出了准備上傳至LocalSVN的所有文件。
點擊OK,則可以出現如下圖所示的提示對話框。顯示Commit Finished!並且最后提示Completed At revision 1,表示這是服務器上的第一個版本。
在目錄空白處點擊鼠標右鍵,選擇TortoiseSVN->Show log,可以顯示LocalSVN服務器的提交日志。如下圖所示,這就是一次完成的版本提交流程。