搭建 git 本地中转站

局域网内有多台开发机器,因为种种原因,与服务器同步代码有不便之处。于是打算在本地做一个 git 的镜像,所有机器都统一 clone 这个本地镜像库,然后由这个镜像库负责与服务器更新。

1. 使用 –mirror 参数 clone

cd /some/where/
git clone --mirror git@server.com:user/someproject.git

执行以上命令后,在本地的 /some/where/someproject.git/ 下建立了对应项目的镜像,它是一个裸版本库(不包含工作区,直接就是版本库的内容),对于我这样的新手来说不是很好懂什么是“裸版本库”,但是进去目录看一下就知道了。

2. 本地操作

在同一台机器上,我们这样写代码:

cd ~/workspace/
git clone /some/where/someproject.git

这样 clone 出来的就是平时熟悉的、包含工作区的内容,平时怎么用就怎么用。

3. 远程机器操作

其他局域网的机子,不从服务器 clone 代码,而从刚才的本地镜像库 clone:先在本地镜像库打开文件共享,然后远程机器挂载它,这里假设挂载到了 /Volume/share/ 下,clone 出来就可以用了。

git clone /Volume/share/someproject.git

4. 更新到本地镜像库

无论是本机,还是远程,commit 完直接 git push 即可。

5. 本地镜像库更新到远程服务器

cd /some/where/someproject.git
git push

6. 远程服务器有更新,拉到本地镜像库

cd /some/where/someproject.git
git fetch

 

附相关参考:http://cryolite.iteye.com/blog/1560139


已有2条评论 发表评论

  1. chenhaochuan /

    枫哥现在转做软件开发了?

    1. 7forz / 本文作者

      搬砖而已😭

发表评论