之前看到过一则新闻说一个程序员多次force push遭同事枪杀。没想到我今天我也干了。
第0次是因为想要对.git文件夹进行瘦身,于是把之前的commit记录全覆盖了然后重新上传。具体参见这个。
https://yuhongjun.github.io/tech/2017/04/28/git%E4%BB%93%E5%BA%93%E5%88%A0%E9%99%A4%E6%89%80%E6%9C%89%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95-%E6%88%90%E4%B8%BA%E4%B8%80%E4%B8%AA%E5%B9%B2%E5%87%80%E7%9A%84%E6%96%B0%E4%BB%93%E5%BA%93.html
这倒没啥,毕竟以前的commit history有过备份,需要的时候再找回了就行。但是第1和2次就不能接受了。清理commit history过后还想进一步优化,上论坛问了以后决定引入lfs。这一搞到不要紧,原本跟repo差不多大的.git文件夹一下子翻了倍——objects全量存了一份所有二进制文件,lfs又存了一份。搞得一个repo是三倍文件大小,再加上编译前的模板文件总共变成了四倍大小。简直不能忍!按理说解决这个的最佳方法就是在源文件添加图片等二进制文件时以硬链接的方式加入,但我偏偏不信邪。这倒好,再次git push -f把lfs搞上去又搞下来。
搞完这一通,我想还是重头再来吧。手贱删了.git目录,导致不得不重新set upstream。干脆事已至此,再f一个算了。破罐破摔了