Git Flow and JavaScript Coding Style

github-logo

Git 已經是每日必備使用的指令,在平常工作上常常使用到 git rebasegit merge,發現很多工程師不知道什麼時候該用 rebase 什麼時候該用 merge,所以做了底下投影片來清楚描述 git rebase 及 merge 的優缺點及使用時機。

Git Flow and JavaScript Coding Style from Bo-Yi Wu

此投影片最主要的目的是要讓工程師善用 git rebase 而不是濫用 git merge,無意義的 merge 會讓整個分支線看起來非常亂,以我在 github 跟其他 open source project 上面 review 看到的問題,只要是 PR 內有任何衝突,一律會請開發者 rebase 主分支,並進行 squash commit,所以對我而言,開發新功能或解 bug 會用到的都是 git rebase,幾乎很少的情況會使用到 git merge。附上兩個比較的線圖,清爽度看起來就是有所不同。

git merge

git_merge

git rebase

git_rebase

如上圖比較發現如果自行開發的 branch 常用 git merge 方式合併主分支,就會多出很多無意義的分支。投影片最後討論到 JavaScript Coding Style 問題,相信在團隊合作之間,務必要制定 Coding Style 規範,透過 JSCS 來制定,而常用的 JSCS Rule 可以在 node-jscs 找到像是 Google jQuery Grunt Airbnb .. 等規範,而我個人比較推崇 Airbnb JavaScript Style Guide,因為新進人員可以快速看完整個 Style Guide 文件,非常完整,團隊可以不用再額外寫任何範例,只要針對文件增加或減少條件即可。


See also