Git Flow 與團隊合作

branching-illustration@2x 本月最後一篇投影片來介紹 Git Flow 流程該如何導入團隊,之前寫過一篇 Git branch model 文章,裡面提到該如何正確使用 branch,但是現在回想起來要導入團隊內真的是有點麻煩,也遇到蠻多問題的,後來最後只採用 Github Flow,簡單又容易理解,如果開發者很常在 Github 活動,相信對於此方法並不會很陌生。 Continue reading “Git Flow 與團隊合作”

Git tips: 更改 commit log 作者

github

Github 上面看到這 git-blame-someone-else 專案,用來隨時修改 commit log 作者,也就是可以任意改 commit id 內的 Author 欄位資訊,作者也相當幽默,直接拿此 commit id 改成 Linux 作者 Linus Torvalds

Continue reading “Git tips: 更改 commit log 作者”

在 Debian 7.8 安裝 Gitlab 筆記

gitlab_logo

之前寫過一篇 GitLab 快速安裝筆記,但是這次在 Debian 7.8 上安裝起來遇到蠻多問題,故寫此篇來記錄安裝遇到的問題,也會寫到如何搭配 Nginx 設定。GitLab 分兩種版本,一種是 Community Edition packages 另一種是 Enterprise Edition packages,本篇是記錄 Community 版本安裝步驟,可以到下載頁面選擇您的作業系統,就可以看到安裝方式

Continue reading “在 Debian 7.8 安裝 Gitlab 筆記”

該如何寫好 git commit message

github-logo

Git 已經是每天必用的工具,也是團隊間互相合作的重要角色。要寫好 Git commit message,讓團隊成員可以知道每一個 Commit 代表什麼意思,這是非常重要的。網路上看到一篇教您如何寫好 Git commit message,好的 Commit Log 可以讓其他同事快速知道這個 Pull Request 包含了哪些異動,該作者寫了七點,分別如下

  1. 將標題與內容中間多一行空白
  2. 標題限制 50 字元
  3. 標題第一個字必須為大寫
  4. 標題最後不要帶上句號
  5. 標題內容可以使用強烈的語氣
  6. 內容請用 72 字元來斷行
  7. 內容可以解釋 what and why vs. how

要強制大家有共通的 commit format 其實很難,所以團隊內會使用 issue track 系統,大家把 issue 或 feature 都開好,在標題列裡面就要強制將 issue number 寫入,然後在 issue 那邊把內容及作法詳細寫清楚,方便追蹤,這樣也是可以的。

PS. 該是強迫自己把 commit log 寫好會比較好,通常在追問題,也時候也會發現自己寫的 Log 不是很清楚。

git tips 找尋遺失的 commit 紀錄

github-logo

個人每天常用的常用的三大 Git 指令分別是 git reset, git pull, git rebase,但是呢有時候手殘,常常把 git reset --soft 打成 git reset --hard 造成不可預期的錯誤,朋友圈內也有人常常問我該如何救不見的 commit,其實很容易,git 對於每隔操作後產生的 commit 都會存放在 Local 端,所以基本上不用擔心 commit 記錄會不見,有一種狀況會永遠消失,那就是假設尚未 commit 目前修正過的檔案,然後下 git reset --hard HEAD,這樣的話我想誰都無法幫忙把已修正過的檔案找回來了,原因是連 git 都不知道你改了什麼啊。所以為了避免這情況方生,個人建議開發者,只要開發到一定的階段,務必要下一個 commit 當作記錄,但是你會說,這樣功能開發完後,就會有很多個 commit 非常不好看,這時候可以嘗試 git rebase 將整個功能合併成一個 commit,這樣其他開發者 review 時就會非常清楚。

Continue reading “git tips 找尋遺失的 commit 紀錄”

Git Flow and JavaScript Coding Style

github-logo

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

Continue reading “Git Flow and JavaScript Coding Style”

透過 https 下載套件,取代 git protocol

Git-Logo-2Color

現在前端套件幾乎都會透過 Bower 來下載,而 Bower 預設使用 git protocol 來下載原始檔案,如果遇到 timeout 逾時,也就是無法透過 git:// 方式,就必須要切換成 https:// 下載,蠻多人遇到此問題,網路上找到這篇 bower install – github.com connection timed out 解答。在 Console 視窗噴出底下錯誤訊息,就請改用 https 方式。

Additional error details: fatal: unable to connect to github.com: github.com[0: 192.30.252.130]: errno=Connection timed out

切換方式很容易,請在 Console 鍵入底下指令

$ git config --global url."https://".insteadOf git://

遇到 bower install 卡卡的也可以用這招 XD

GitLab 快速安裝

gitlab_logo

最近想安裝新版的 GitLab,竟然發現 GitLab 推出快速懶人包,終於可以不用打很多指令來安裝了,大幅降低了安裝困難度,目前支援 CentOS, Ubutnu, Debian 等安裝包,GitLab 各版本也可以從這邊列表找到,另外安裝前請確保你的硬體環境是符合 GitLab 所要求,來看看有沒有這麼簡單安裝。

Continue reading “GitLab 快速安裝”