[github] Branch description

忘記什麼時候學到 git 的 branch 可以給一些描述,這樣在切換 branch 的時候可以稍微知道這個 branch 是做什麼的。就把他做個筆記。

git checkout -b AC-123

設定 branch 的描述

會進入一個 vim 的編輯器,可以輸入 branch 的描述

git branch --edit-description

跟我講現在這個 branch 是幹嘛的

git config branch.AC-123.description
# 或是
git config branch.$(git branch --show-current).description

列出現在所有 branch 是幹嘛的

#!/bin/bash

# Step 1
#   git branch --edit-description
# Step 2
#   gb (this file)
(
  current=$(git rev-parse --abbrev-ref HEAD)
  branches=$(git for-each-ref --format='%(refname)' refs/heads/ | sed 's|refs/heads/||')
  for branch in $branches; do
    desc=$(git config branch.$branch.description | awk '{print "\t\033[0;33m" $0 "\033[0;0m"}')
    if [ $branch == $current ]; then
      branch="* \033[0;32m$branch\033[0m"
    else
      branch="  $branch"
    fi

    echo -e "$branch"
    if [[ ! -z $desc ]]; then
      echo -e "$desc"
    fi
  done
)

我自己是把這兩個各包成一個 script(例如 gbdcgbdca),這樣就可以很方便的列出現在所有 branch 是幹嘛的。

refs