本地gitserver和github同步/ローカルgitサーバーとgithub同期

公司的代码都托管在github上,而project管理用的是atlassian。 自从atlassian的bitbucket正式release以后。 老板想把鸡蛋放在一个篮子里面,催促着从github上迁移到bitbucket。 理由是目前每个月需要向github和atlassian两个地方付费,迁移以后只向一个地方付费就ok了,减少支付流程。 不管老板的真实理由是什么,大家都用惯了github谁都不想迁移。 被逼的没办法,只说先用着试一试,于是就在公司建了个本地的git服务器。 大家只向本地服务器提交代码,本地服务器上配置两个remote,一个指向github,一个指向bitbucket。 前两个月有一次github宕机导致有两个小时没法用github,建本地git服务器以后就不会再有这样的问题。 而且所有的commit都能如实的反应到github上去,还能继续使用github上比较丰富的graphs,大家都很happy。 具体的实现一点都不难,随便google了几下有很多靠谱的文章。 步骤: git服务器安装配置,包括配置和github的连接(略) 做一个github的本地镜像 git clone –mirror $URL 各自开发环境的repo做切换git remote set-url origin $LOCAL_URL 追加git本地服务器的hook(xxx.git/hooks/post_recieve),将本地commit自动反应到github 因为权限问题自动将本地commit提交到github环节遇到一些周折。 git服务器用的是git用户,忘记给git用户追加github的key,导致向github push失败,开始以为是hook的问题。折腾了好久。