技術記錄

Git Checkout / Switch / Restore 比較

前言

git checkout 原本的功能有:

  • 切換分支
  • 檔案管理

雖然兩者只是一個功能的一體兩面(從特定分支拿取特定檔案),但大多時候我們使用的時候會避免在一個指令進行太多邏輯操作,所以大多都只用到切換分支或是檔案管理其中一個。
而且說實在,checkout 一個檔案實在不是一個語意上很直觀的說法。

我的 Node.js Process 怎麼不會結束?

工作時碰到了某個以 Node.js 撰寫的 scheduled job(排程工作)一直保持在 running 的狀態,永遠不會進到 complete。這時一般首先想到的是,程式可能在某個地方卡住了,進入無窮等待(像是進入無限迴圈一樣)。

一開始我試著使用懶人 debug 方法:加入幾個 console.log 看看 code 是跑到哪裡停住了。
結果,到程式碼最後一個 console.log 也有被執行到。
但程式依然沒有結束。

Git 小技巧

前言

原來 Git 比想像中的易學難精

剛開始學 git,我是隨便買了一本薄薄的書,然後跟著裡面的內容照著跑,就把 git 的基礎學起來了,例如說暫存區、分支、commit、tag、push 等等
曾經我以為這樣就算學會 git 了,我也這樣用 git 用了一兩年,直到有一天在實習的公司被問到說

你會用 Git?那你會用 rebase 嗎?

…那是什麼?