Git 畫圖工具介紹--gitdags
想像用口頭或文字描述 Git Flow 流程:首先在 develop
開 feature
分支,然後完成後合併回 develop
。接著上線要在 develop
開 release
分支,定版後即可合併進 master
並 tag 版本…
這樣的描述已經非常難懂了,若是用口頭說明可能就跟講 rap 一樣難懂。俗話說的好--「一圖勝萬言」,今天要介紹的 gitdags 是畫 Git Log 的工具,把圖畫好畫面,可以讓團隊在溝通 Git 流程過程更順利。
環境準備
gitdags 是一個 LaTeX 的套件(packages)。我們可以透過這個套件,用相較簡單的語法畫出 Git Log 圖。
因為是使用 LaTeX 排版語法,所以需要先準備相關環境。Mac 系統可以參考 MacTex 安裝。MacTex 安裝好後會多一個指令 pdflatex
,這裡有準備好一個 LaTeX 範例檔:
\documentclass[preview]{standalone} |
把它存成一個 latex.tex
檔,然後下指令能產出 PDF 檔:
pdflatex -output-directory=. latex.tex |
如果有需要轉圖片的話,可以改用 pdf2svg
工具,Mac 可以透過 brew install pdf2svg
指令安裝,安裝完後使用工具轉 svg:
pdf2svg latex.pdf latex.svg |
範例圖檔:
再來是把 gitdags 下載下來:
git clone [email protected]:jubobs/gitdags.git |
主要需要的檔案是 gitdags.sty
檔,在 tex 裡使用 \usepackage{gitdags}
去引用它,下面是個簡單的範例
\documentclass[preview]{standalone} |
產生圖檔如下:
Packages 裡面用的方法實在是不大懂,總之工程師嘛,可以從範例再去改內容,就可以有很多變化:
\documentclass[preview]{standalone} |
產生圖檔如下:
附件一:轉檔腳本
根據上面的指令,我有寫了一個腳本可以拿來做自動轉檔用:
|
使用方法:
sh tex2svg.sh some.tex |
附件二:Docker 懶人包
環境覺得太難搞了,所以就自己寫了一個 Image,用法是啟動 container 的時候,把 tex 目錄綁定到 /tex
即可:
docker run --rm -it -v /path/to/your-tex-files:/tex ghcr.io/mileschou/gitdags |
目前的做法是,它會自動找 .tex 檔做轉換,另外如果有 Makefile 的話,則會執行 make
。
註:這個 Docker Image 有個缺點是,還沒有轉 svg 的方法。