Skip to main content

4 posts tagged with "work"

View All Tags

· 3 min read

與其他人合作🤝使用 git 版本控制系統時,為了讓最後合併(Merge)的 commit 好看,常常會需要調整自己的 commit。

同時修改一個 commit

剛開始工作時一次只修改一個 commit,最常用到的命令是:

修改 commit 訊息 (message)

git commit --amend

在 commit 後加入--amend(修正) 參數,可以修改最後一個 commit 的訊息。

將後續修改合併成一個 commit

git rebase -i HEAD~2

將要合併的 commit 從pick改成s(squish) 後儲存,修改 commit 訊息後,可以得到剩下的一個 commit。

同時修改多個 commit

到後來為了讓審查 (Review) 更容易,漸漸開始嘗試在遇到某些較複雜的問題時,在同一個 Branch 堆疊多個 commit 的開發方式。

假設手上有 3 個疊在一起的 commit (commit 1,commit 2,commit 3. commit 3 是最新的 commit), 這時在修改的過程中會遇到的主要問題, 就是現在的修改與最新的 commit (commit 3) 無關,但與最前面的 commit (commit 1) 相關。 這時若想要將現在的修改與之前的 commit 1 合併,原本常使用的git rebase就不是那麼好用了。

為前面 commit 的打補釘

要為前面 commit 的打補釘,可以使用命令

git commit --fixup <commit>

<commmit>代表之前 commit (commit 1) 的 hash。輸入後最新的 commit 中會出現fixup <commit 1>的註記。

合併所有的補釘

當一系列修改完成後,只要使用命令

git rebase -i --autosquash

儲存後可以得到干淨的 commit 1,2,3🤘

修改任何之前的 commit 訊息

如果只想修改之前的 commit 訊息,可以用命令

git rebase -i HEAD~3

pick改成reword,儲存後就可以修改訊息。

參考資料

· 2 min read

今年隨著 Firefox OS 退場,工作內容有了不小的改變。年初時嘗試了一些不同的方向,也修了一些 Firefox 界面 bug,後半年則主要專注於開發者工具改進這塊。 以下是我今年主要參與或建立的開源專案。

Jan

  • Webby send command to your internet assistant through the web

It's playable online

Feb

Mar

Apr

https://gasolin.github.io/aframe-href-component/

May

  • New Firefox Sites Permission

June

  • Firefox Password doorhanger

July

  • Firefox Devtools Inspector

Aug

Sep

  • Firefox Devtools Network Monitor

Oct

  • blog personal tech blog

http://blog.gasolin.idv.tw/

Nov

Dec

· 3 min read

Imgur

承上一篇,我工作用的桌機通常灌的是 Ubuntu(Linux)系統。筆電則是在 Windows 10 上灌 Ubuntu VM 解決。

但上個月我的桌機從 16.04LTS 升級到 16.04.1 時,竟然升級失敗無法開機,這讓我很火。 於是利用這個機會,我嘗試安裝了 MintElementary OS1。 Mint 和 Elementary OS 都是 Ubuntu 的衍生版本,所以在套件和命令行使用上與 Ubuntu 一致,在重新設定開發環境時比較不會遇到困難。

兩者嘗試後,最終是 Elementary OS 的高顏值與類似 Mac OS 的使用經驗,讓我決定繼續用下去。 當時安裝的版本是基於 Ubuntu 14.04LTS 的 Elementary OS 0.3 版 (Freya)。至目前使用上相當滿意,終於可以擺脫不甚順手的 Unity 桌面了。

就在前幾周,基於 Ubuntu 16.04LTS 的 Elementary OS 0.4 版 (Loki)終於釋出了。 但是新版本竟然不支援直接從舊版升級,於是我依然錯過在第一時間試用新版本的機會。

今天心血來潮再次搜尋了一下 vagrant 上是否有提供 Elementary OS 的 Box,很幸運找到了

步驟:

  1. 在 Windows 10 上按視窗鍵,搜尋 cmd 並開啟
  2. 在命令行工具中輸入以下 2 行命令,以啟動一個 Elementary OS VM
vagrant init TimWSpence/elementaryos
vagrant up

第一次啟動後要開啟 VirtualBox 並選擇「顯示」,之後就不需再用到 vagrant 命令了。 vagrant box 所使用的登入的密碼是 "vagrant"。

啟動後我照著11 things to do after install Elementary OS Loki 文章的建議,安裝了一些工具。 同時因為我的 Dell XPS 13 (9495) 筆電解析度較高,預設的解析度之下每個字都超級小,我透過 gsettings 命令多設定了 text scaling:

gsettings get org.gnome.desktop.interface scaling-factor
gsettings set org.gnome.desktop.interface scaling-factor 2

在做了這個修改之後,才得到對眼睛比較友善的使用界面。(如題圖)

· 2 min read

幾周前透過 Ubuntu 升級筆電的 Firmware 後,Ubuntu 竟然就再也無法正確抓到無線網卡了!

我想說那就趁這機會重灌 OS 吧!然而在嘗試灌各種 Linux 套件(Elementary OS Loki (Beta), Ubuntu 16.04, Ubuntu 14.04)都抓不到網卡驅動程式後,只好乖乖灌回 Windows 10。

由於在筆電上依然需要一個 Linux 工作環境,我就之前的經驗繼續使用 vagrant 來建立工作環境 VM。安裝好VirtualBoxVagrant後,只需要 2 行命令即可安裝完成,而且之後隨時可以砍掉重新開一個全新的 VM。

步驟:

  1. 在 Windows 10 上按視窗鍵,搜尋 cmd 並開啟
  2. 在命令行工具中輸入以下 2 行命令,以啟動一個 Ubuntu VM
vagrant init boxcutter/ubuntu1604-desktop
vagrant up

第一次啟動後要開啟 VirtualBox 並選擇「顯示」,之後就不需再用到 vagrant 命令了。 vagrant box 所使用的登入的密碼是 "vagrant"。

由於 Vagrant 使用最小化地配置 VM 可使用的 CPU 和記憶體,對於桌面開發環境來說有些不夠用。我會到 VirtualBox 中修改「配置」,去適量增加可用的記憶體數值。 目前這方式在 Windows 上運作地相當順利。