Add multi gc

添加multi-gc功能，未完全测试
fork和repo间的联系只通过remote branch head 和 fetch_head, 和fork本身的heads没有关系，如果把GIT_BRANCH_REMOTE传进去会得出那些只在fork中的commit，在repo中根本解析不出