【SVN技巧】如何協同開發LabVIEW代碼 1


前言

在我們工作中,必然會遇到代碼的多個版本問題,也必然會遇到版本控制問題。如果所在的公司具有良好的項目管理體系或者軟件管理體系,那么其版本控制應該有嚴格的使用規范,如果沒有則作為一個上進好青年也應當熟練掌握版本控制的一些技巧。這里簡單的介紹一下在工作中,我們的版本控制如何使用。

版本控制是什么

版本控制是什么在這個文章就不再介紹了,你沒有概念,可以先在百度或者谷歌搜索相關概念。
這里給一個Wiki的鏈接方便大家了解:

為什么LabVIEW開發使用版本控制

LabVIEW軟件開發同樣存在大量的版本控制需求,無論是TestStand序列還是LabVIEW程序設計, 我們總會有階段性的去輸出一些版本。如果在沒有版本控制的情況下開發程序,我們很容易面臨如下問題:
1. 代碼如果想保存,需要不停的復制和備份,占用大量硬盤資源
2. 代碼如果想返回原先某一狀態比較困難
3. 代碼如果想要協同開發比較困難,最典型的就是協同開發導致大量沖突VI

選用哪種版本控制軟件

版本控制軟件很多,常用的有Git和SVN,而TortoiseSVN由於其圖形化的操作和簡單易用的特性,在LabVIEW開發中應用比較多一些,本文也將以TortoiseSVN為例講解軟件程序中的版本控制。
TortoiseSVN的開發文章參考

TortoiseSVN如何使用

TortoiseSVN的使用通常分為幾種,根據使用人數分為單人開發使用和多人開發使用,根據使用方式不同分為聯網使用和單機使用。
  • 在版本控制比較弱的情況下或者客戶環境限制無法聯網,我們使用的是單人單機開發模式進行代碼的版本控制
  • 在單人多態電腦開發的情況下,我們使用單人聯機模式進行開發
  • 在多人情況下一般使用聯網模式,進行協同開發

單人單機模式開發

單人單機模式使用版本控制,可以讓我們單機的程序具有版本控制的功效,讓我們可以輕松的撤回以前的版本,具體使用流程如下

源碼倉庫建立

首先找一個比較隱秘的文件夾,作為我們的源碼倉庫,點擊右鍵彈出TortoiseSVN菜單,並且創建源碼倉庫(Create Repository here)
點擊Create Folder Structure 完成文件夾結構的創建,點擊OK完成

版本控制設定

源碼倉庫建立完成后,我們可以打開需要版本控制的文件夾,選擇SVN Checkout來將該文件夾版本控制起來
 
路徑處的URL填寫本地剛剛建立的源碼倉庫地址,Checkout directory設置為當前需要版本控制的文件夾
如果想要細化文件夾路徑,如將版本規范的放在trunk目錄下可以選擇配置
   點擊OK,即可將當前文件夾填入版本控制區間
 
 第一次提交版本為version 1
  提交完成后,文件夾內的文件會顯示問號,代表沒有進行控制
 
 在文件夾目錄內選擇Commit,提交代碼或者備份的文檔
在1處填寫工作日志和版本日志,在2處選擇需要提交哪些問題,點擊OK完成內容的提交
 提交后,彈出信息界面,我們的版本升級為version 2
 
 這時候,我們本地的文件夾目錄所有保護起來的文件均有了綠色的小箭頭,代表本地的文件與源碼倉庫一致

撤回操作

在提交完成后,我們的代碼/文檔已經全部備份,這時候我們對文件的任何改動都可以撤回,這里我們以文件不小心刪除為例(實際中我們通常會碰到文件誤修改或者刪除的情況)
文件刪除后內容丟失,這時我們可以選擇Revert操作,將丟失的文件從源碼倉庫中重新拷貝一份出來
 勾選需要撤回的內容,點擊OK完成撤回操作
撤回后,文件又回恢復
 
實際中,我們通常是某些代碼文件修改后需要放棄修改使用本功能,誤刪除只是一種情況。更有甚者整個文件夾全部刪除的時候,我們也可以重新Checkout來獲取代碼。
TortoiseSVN給我們的代碼添加了一層保險,只要源碼倉庫存在,我們可以任意的處理我們當前的文件,而不怕丟失

撤回歷史版本

在一些情況下,我們需要撤回到幾天前開發的代碼版本,我們可以選擇update to revision
 
 輸入版本號即可選擇撤回到哪個版本
實際上我們很少會記錄版本號,這里選擇Showlog,通過日志來查看我們的版本,選擇指定的版本
這里就體現出了我們的版本日志的重要性,只有完整的版本日志才能便於我們切回准確的版本進行修改代碼
 
點擊OK,可以回到之前開發的某一個版本

 總結

由於篇幅關系,這里只介紹了單機開發模式下的幾個常用功能
1. 源碼倉庫建立
2. 文件夾版本控制添加
3. 文件夾版本提交
4. 當前版本撤回操作
5. 歷史版本撤回操作
 
SVN的使用是LabVIEW代碼開發的基礎,不使用版本控制的軟件工程師或者系統集成工程師將會面臨大量的代碼問題,這些問題都屬於沒有良好工作習慣而導致的。

 

 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM