Add multi gc

添加multi-gc功能，未完全测试
但是，作为一个 fork 仓库，upstream 的 ref 是几乎不动的，反而是 origin (local) 的 ref 经常变动，upstream 只需要跟随 upstream 同步即可，但是 origin(local) 是不可控的，这个才是我们需要考虑(解决)的。