Detele the ‘ghost’ branch reference to prevent wrong git tab-completion

If you deleted a branch, even on all the remotes, but your git tab-completion still gives you the ghost branch, try to delete that branch reference by yourself, it may be in .git/packed-refs and .git/info/refs, in these two files, each reference will use one line, just delete the ghost branch here and git tab-completion will be good again!

git push在處理branch name的小技巧

把程式丟到heroku跑的話預設是要用master才會run/build你的app,不過有些東西其實不適合放到master branch,例如cdnjs/new-website理面的meta data,之前因為用機器人(其實只是crontab)去更新這些資料,生了上萬個commits出來,多了一堆不必要的log,也淡化contributors list理面真正的contributors的貢獻量

剛剛花了一些時間把那些commits通通清掉,現在大概剩下兩百出頭的commits,雖然還是有一些沒拔乾淨,不過已經無傷大雅了,接下來的meta data就會丟到meta這個branch,不過問題來了,把這些資料直接push到heroku上面(因為一些原因所以不是用GitHub webhook而是自己push)會得到這樣的訊息:

Pushed to non-master branch, skipping build.

目前想的到最簡單的解決方法是這樣:
git push heroku meta:master

也就是在branch名稱後面多了一個:master,意即把本機的meta分支push到heroku這個remote上的master branch

同理也可以在pull的時候這樣做:

git pull upstream master:base

意即把upstream上面的master分支拉到local的base分支上

然後 … 就沒有然後了,滿簡單好用的方法@@