貝果🍎
所有 git server 管理者的第一課
幹我要怎麼把 server 上不要的 commit 刪掉 (rofl)
貝果🍎
git update-ref HEAD <commit>
git gc
git prune
然後叫所有人 git pull
泥馬٩(ˊᗜˋ*)وアルパカ
XDDDDDDDDDDDD
貝果🍎
泥馬٩(ˊᗜˋ*)وアルパカ : 擦屁股是管理者畢生的志業 (rofl)
ㄌㄐ@你的水潤餅大使
爆笑
貝果🍎
jennifer7108: 我記得以前架 SVN 的時候很常看到網路上有人問這問題,但 SVN 做不到,啊我們的哲學就是完全保留你的所有黑歷史以防你反悔想要啊。你就直接 revert 到舊版再繼續寫下去不行嗎,幹嘛一定要讓 commit 從你眼前消失

後來 SVN 團隊實在被煩到不行,推出一個 filter,你把整個 server 備份、過濾清潔、再把整個過濾完的備份檔倒回去 server 上就好,但這過程對於 commit 數成千上萬的 server 來說極慢......
貝果🍎
我是從 SVN 開發階段就開始追更新的,一開始也覺得沒什麼不對,你就算寫錯也是試誤的一部分,留著錯誤和訂正的紀錄沒什麼不好

然而我錯了,錯誤有很多種,有些是不會操作就胡亂 commit 垃圾檔案那種,甚至有把龐大的壓縮檔、執行檔也 commit 進來的,不刪掉超浪費 repository 空間,而且每次備份都要備份這些垃圾
貝果🍎
不過今天是我為了要試 hook 連動,才 commit 一大堆空白進去,當然我可以直接刪掉整個 repository 就好,不過多花點時間記住一組遲早用得到的北七指令也不是壞事
泥馬٩(ˊᗜˋ*)وアルパカ
把資料庫所有資料commit上去
貝果🍎
泥馬٩(ˊᗜˋ*)وアルパカ : 把 MySQL 密碼和所有的 API token commit 上去

啊,API token 外流好像也是個刪 commit 的常見理由,然而正確做法是當作已經外洩做成跑馬燈在西門町輪播了,儘快換 token
載入新的回覆