2016 更新:文章內容在 Github 上也有嘍!
Git 內建的比較(git diff)與合併工具(git merge)用在純文字的程式碼上直覺且單純,但是對於 LabVIEW 這種圖型化程式語言來說,便需要做一些前置的設定。
本篇將使用 TortoiseGit 軟體配合 LabVIEW 內建的比較與合併工具,讓 Git 與 LabVIEW 配合得更完美。
註 1:下述的設定概念,基本上也可以套用在其它有支援相關功能的 Git 桌面軟體上,也可以透過終端機介面去設定。
註 2:測試環境的作業系統為 64 位元的 Windows 7 與 LabVIEW 2012。
步驟一:安裝 TortoiseGit
TortoiseGit 軟體下載頁面:這裡。(或直接搜尋關鍵字,至官網下載)
官方建議是先安裝 TortoiseGit 再裝 Git。如果電腦已經安裝好 Git 請直接安裝。Git 的版本建議為 1.7.xx 或更新的版本。
安裝完後,在電腦內的任一 git repository 點擊滑鼠右鍵,即可見到如下畫面:

步驟二:設定 LabVIEW 比較器
快速預覽:
TortoiseGit >> Settings >> Diff Viewer >> Advanced... >> add Extension: .vi External Program: <path of National Instruments>sharedLabVIEWCompareLVCompare.exe
在 TortoiseGit 選單中,點擊「Settings」,並找到「Diff Viewer」選項。在「Diff Viewer」中,打開「Advance…」選項。
此時會出現一個很多副檔名與路徑的配對視窗。點擊下面的「Add…」。
接者會跳出一個小視窗,包含兩個欄位。
將其中的「Extension」欄位設定為「.vi」;「External Program:」的設定路徑如下:
<NI 軟體的安裝路徑>sharedLabVIEW CompareLVCompare.exe.
如果找不到路徑下的該檔案,請直接在用系統搜尋。以我來說,路徑是位於「C:Program Files (x86)National InstrumentsSharedLabVIEW Compare」中。
上述動作是將以 .vi 為副檔名的 LabVIEW 檔案,在進行 Git 比較時,預設以 LVCompare.exe 開啟。
步驟三:設定 LabVIEW 合併器
快速預覽:
TortoiseGit >> Settings >> Merge Tool >> Advanced... >> add Extension: .vi External Program: <path of National Instruments>sharedLabVIEWMergeLVMerge.exe
(方法類似上面,接下來就不秀圖了)
在 TortoiseGit 選單中,點擊「Settings」,找到「Merge Tool」選項,並打開「Advance…」。跳出新視窗後點擊下面的「Add…」,將「Extension」設定為「.vi」;「External Program:」的設定路徑如下:
<NI 軟體的安裝路徑>sharedLabVIEW MergeLVMerge.exe
我的路徑是位於「C:Program Files (x86)National InstrumentsSharedLabVIEW MergeLVMerge.exe」中。
上述動作是將以 .vi 為副檔名的 LabVIEW 檔案,在進行 Git 合併時,預設為 LVMerge.exe 程式完成。
設定完成後,就可透過 TortoiseGit 進行 Git 比較與合併的動作。
LVCompare 比較器的畫面就像下圖,會把不同版本的檔案相異處用紅色圓出來。不同之處也會羅列(圖中的下方小視窗),甚至會幫你註記已經檢示過的項目。

LVMerge 合併操作的功能也很方便。不過本人在 LabVIEW + Git 這個組合下,做合併操作時,會儘量只用 fast-forward 的方式合併。畢竟圖形化程式的合併想起來還是毛毛的,衝突處理也比較難控管。
後話
TortoiseGit 是一套 Windows 上相當好用且免費的 Git 桌面軟體,服用過後,LabVIEW 與 Git 變得親近多了,設定上也不麻煩。
有過 LabVIEW 案子接棒經驗的人都知道,LabVIEW 的程式碼一旦發展起來,剛接手時是要連吃好幾天義大利麵的。為了新人的健康,請善用工具做好版本控制吧!
§ 本作者是名中央大學不煙不酒不務正業的煙酒生
發表迴響