原來可以這麼寫(22): 使用`git-hook`&`air`
更新近況
好久沒有更新這個系列了、也很少更新這個部落格了。老實講自從架設docusaurus
之後,我主力就完全放在那兒了。而這裡,就是我拿來做SEO、做一些『點』的分享!
docusaurus
那個網站我有特別撰寫robot.txt
,或許搜尋引擎上不會看到那個網站(但前提也是要網路蜘蛛尊重囉),且那裡的分享會比較屬於『線』和『面』一點,我想這就是我對這兩個空間的分別定位與差異設定了…
拖字數的廢話講完了,就來講講我最近在工作上面到底遇到了什麼吧!畢竟這就是這個系列的主旨 👍
又換新工作
最近是有點遇到低潮、去年到現在工作換過了幾次又幾次。嚴格定義算是自己給自己找麻煩啊,不過我覺得我沒有後悔離職。只是剛好運氣不太好、沒有遇到適合的罷了!而且每次離職經驗其實都帶給我有不同的學習與體驗,這恰恰證明了我『沒有停滯』我的成長,甚至不會再犯第二次的錯誤。
到現在為止是名全端工程師…(好想要繼續專注後端啊…XD),前端使用的是Vue
; 後端使用的是Golang
。這次新工作的第一個原來這麼寫,就來討論我為了自動化更方便我的開發流程,使用到的git-hook
&air
Git-Hook
我們前端專案有點奇怪,分成了給平板用的app版&給網站用的web版,而router有兩個檔案,每次分支在切換時,都要記得把web版
的router檔案
複製一次,然後才能讓前端動起來…是說我也不知道為什麼他們分支切換卻把主要的router
做ignore
,要特別copy &paste 這樣…或許等我以後對專案熟悉一點、可能就知道他們前面的歷史到底發生了什麼問題吧…
總之… 我心裡就想難道git
沒有類似這種webhook
的機制嗎?每次這樣複製貼上真的好麻煩!於是,在我不懈努力之下…(吐槽一下:也沒多努力拉 😅),找到了『git hook』。給個官網文件先:https://git-scm.com/book/zh-tw/v2/Customizing-Git-Git-Hooks
首先,請你先打開你的.git
資料夾!如果是和我一樣的VScode愛用者可以在資料夾底下建立.vscode
的資料夾放入settings.json
做一下的設定呦…
|
|
大家是否有看到.git
目錄下有一個叫做hooks
的資料夾呢?沒錯, 這就是我們這個部分的主角💪💪💪!
於是乎…我就在那裡增加(或修改)了一個post-checkout
的檔案,其實這些檔案不過就都只是一堆shell指令,你可以大膽地客製起這樣!至於我只是增加底下這幾行而已~
|
|
於是,我不用每次分支切換時都要做copy&paste的雜事拉!
Air
前端語言好像很常有這種hot-reload
的機制,而後端語言比較少使用…回想起我以前使用PHP
和Python
, 一個好像是直接使用docker處理重啟的問題(靠..才幾個月沒寫PHP有點忘了當時怎麼開發處理…這裡可能有點說錯喔…),另一個則是要慢慢地透過nas編譯(不過他也是create 很多docker container 起來…),這次我新工作的案子沒有docker, 每次都要使用go run main.go
之類的實在是好麻煩!
於是我問了ChatGPT
, 他推薦我使用gin
(不是網頁框架那個,而是這個:https://github.com/codegangsta/gin)。但說實在的我覺得有點…爛…不知道是不是我們工作專案設定的特性,實際幾天跑下來總覺得有點雷雷不如預期:要不就是沒有reload到、要不就是當掉…
後來自己google
後發現到air
:https://github.com/cosmtrek/air。
透過根目錄.air.toml
配置,我可以專注我的開發,他就會自動幫我hot-reload, 實際幾天用下來,覺得符合我目前的期待。是我目前使用的方案
至於
.air.toml
要怎麼設定請自己去看文件拉
小君曰: 懶