gc after git filter-branch
git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
git reflog expire --expire=now --all
git gc --prune=now
»
git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
git reflog expire --expire=now --all
git gc --prune=now
»
Git commit comment 風格慣例統一之後, 遺留在 master 上那些不堪回首的 commit history 怎麼辦?
git checkout --orphan tmp <new_starting_point>
git commit -m "bye bye history"
git rebase --onto tmp <new_starting_point> master
git branch -D tmp
»
We know we can add some other remotes and its url after an initial git remote
add origin, and one more trick is that we can do some group aliases such as:
# <repo>/.git/config
[remote "mars"]
url = <url-mars>
fetch = +refs/heads/*:refs/remotes/origin/*
[remote "origin"]
url = <url-origin>
fetch = +refs/heads/*:refs/remotes/origin/*
[remote "all"]
url = <url-mars>
url = <url-origin>
»
由於寫 code 專用的 VM 有時候會被我 pause, 然而 resume 後時間往往會跑掉, 這時候要是做了 commit 就會出現新 commit 的時間比舊 commit 的時間更早的怪事, 像這樣:
* ee0daaf 2013-10-16 | swap method2 and method3 (HEAD, master) [kfei]
* a1544cc 2013-10-21 | completes VD Center setup (origin/master, origin/HEAD) [kfei]
* 0a4e123 2013-10-03 | modify env check process about qemu [kfei]
...
»