同步型云盘可以让我们较好的同步代码,而 git 能让我们进行较好的版本控制。那么当我既需要代码同步功能,又需要版本控制时,该如何解决呢?可能很多人会想到,将整个代码文件夹扔到同步盘里面。这是最简单,但也是极其不稳定的解决方案。之前我一直是这样做的,但由于同步盘存在不稳定性,尤其是在频繁切换分支时,极有可能会由于同步盘的判断失误,导致代码回档、.git 文件夹损坏的情况。

另一种解决方案就是放弃同步盘,仅使用远程仓库。Github 就提供私有仓库的服务,但每月 7 刀的价格对于我来说还是有些贵了,而我又不想因为私有仓库的需求单独使用其他家的代码托管服务。

所以我想到一种新的解决方案:

在自己的同步盘里仅建立一个 Git 仓库,把它当作项目的远程仓库。当需要使用时,就像使用 Github 一样,通过 clone 命令将代码克隆至其他文件夹进行操作。

上网一查,发现有很多前辈已经想到了这种办法。实现方法如下:

在同步盘中初始化一个 Git 裸仓库

在合适的同步盘文件夹内此处使用该命令:

1
git init --bare

将“远程仓库”克隆至其他文件夹

使用 git clone 的方式,将同步盘内的“远程仓库”克隆至非同步盘文件夹下。克隆的地址就是远程仓库文件夹的路径。

1
git clone [path]

比如我的远程仓库建立在 D:\Nutstore\zyStudio\demo 路径下,那么我就应当输入

1
git clone D:\Nutstore\zyStudio\demo

不同计算机之间的代码互通

由于 git 不像同步盘那样可以时时同步代码,所以当我们切换电脑进行工作时,必须提交上一台电脑的代码,并在新的电脑上使用 git fetchgit pull 等命令进行代码同步。