2015/04/25

整理 git local / remote branch

先列出所有的 branch:
$ git branch -a
* api
  cleanCode
  dev
  master
  remotes/github/api
  remotes/github/dev
  remotes/github/master
  remotes/github/pub/anime
  remotes/github/pub/dev
  remotes/github/pub/lock

已知其中 "pub/*" 開頭的 branch 其實已經都不存在了,這時候如果刪除 remote branch 會出現錯誤訊息:
$ git push github :pub/lock
error: unable to delete 'pub/lock': remote ref does not exist
error: failed to push some refs to 'git@github.com:johnroyer/aniTrace-fuel.git'

表示 local container 已經和 remote 資料有差異了。

這時候可以用 prune 指令,讓 git 同步 local 和 remote 的資料:
git remote prune github

執行後,若 remote 已經刪除的 branch,也不會在 git branch -a 時顯示了。

2015/04/14

Case-insensitive in HFS+

因為某個 repo. 底下有二個大小寫不同的檔案:
$ ls
readme.md
README.md

git 顯示檔案有異動:
$ git status

    modified: readme.md

確定檔案內容有問題,強制從 repo. 中拉出 readme.md:
$ git checkout -- readme.md

checkout 以後,換成 README.md 有異動:
$ git status

    modified: README.md

看起來是 case-insensitive 的問題,先強制讓 git 區分大小寫:
$ git config --global core.ignorecase false

可惜還是沒有效果。

後來才知道 Mac OS 的檔案系統 HFS+ 中,預設是不區分大小寫的。
也可在格式化時可以另外設定成 case-sensitive,但有可能會造成部分程式無法正常運作。


Ref:

2015/03/30

Install Gems without Docs

使用 gems install 時,預設會下載並產生 gem 說明文件,但這個步驟會花掉不少時間。

若環境為 production,說明文件其實是沒有必要安裝的,可以在家目錄下新增 .gemrc 檔,要求安裝 gems 時忽略說明文件:
cd ~
echo 'gem: --no-rdoc --no-ri' > .gemrc

2015/03/18

irssi 快速鍵

無意間按錯,發現一些快速鍵可以用。

Ctrl + N / P:下一個 / 上一個 channel

Alt + N / P:該 channel 訊息下一頁 / 上一頁