使用网盘(Dropbox/Google Drive)同步Git仓库
还在使用老掉牙的U盘搬运代码(文件)的方式,从一台机器上复制后,粘贴到另一台机器上?太Out了。使用Github 倒是一个非常不错的替代方法。但无论是基于什么理由都有可能不想把代码公开(毕竟Github免费账户是无法建立Private Repository)。建立Private Repository?Bitbucket免费账户同样有私有的仓库。不过,在云概念满天飞的时代,免费网盘满大街随手都可以捡到一个。为何不能使用网盘来保存Git项目文件?
网盘选择
对于网盘的要求无非是免费、量大(免费还要量大?用户真是太苛刻了)以及安全可靠。首推的当然是口碑极佳的Dropbox,但由于某些原因导致Dropbox的客户端下载有些技术难度,庆幸的是同步没有问题,但与国内网盘相比速度上可能稍差。另外一个不错的选择是Google Drive,免费15G,可靠性有保证。除此之外,理论上只要支持以「.」开头的文件的网盘都可以用来同步Git项目。
具体设定
做法分为三步:初始化本地Git仓库;在网盘中新建一个空的Git仓库;设定网盘中的Git仓库为远程仓库。具体操作步骤如下:
初始化本地Git仓库
cd ExampleProject # 定位到项目目录中
git init # 本地Git仓库初始化
git commit -a -m "Initial Commit" # 初次提交,本地仓库创建完成
在网盘中新建一个空的Git仓库
cd CloudStorage # 定位到网盘所在目录CloudStorage下
git init --bare ExampleProject.git # 新建空的Git仓库
将网盘中的Git仓库作为远程仓库
cd ExampleProject # 定位到项目目录
git remote add cloud CloudStorage/ExampleProject.git # 添加远程仓库
git push -u cloud master # 推送本地修改到远程修改
设定完成。
多台设备同步
其他设备上需要进行项目的修改时,首先使用网盘同步网盘的数据,假设网盘地址在d:/Documents/GoogleDrive。然后再clone项目到本地,clone的操作与cloneGithub上的项目大同小异(仓库地址不同):
git clone file:///d:/Documents/GoogleDrive/ExampleProject.git ExampleProject
上面的代码将checkout网盘中的项目,然后放在ExampleProject目录下。
当在此台上修改了本地的代码并提交到本地仓库后,推送修改到远程仓库(网盘中的仓库),再让网盘进行同步,最后在其他机器上fetch/pull即可。
http://notes.iissnan.com/2013/sync-git-repos-in-cloud/
使用网盘(Dropbox/Google Drive)同步Git仓库的更多相关文章
- 网盘的选择,百度网盘、google drive 还是 Dropbox
我是国内用户,需要越过Chinawall 我使用的是一枝红杏,用着还行 如果要买,结账时输入'laod80' 一枝红杏官网:官网地址 Dropbox: 稳定,速度快 Dropbox官网:链接 操作十分 ...
- git 在不同服务器主机上同步 git 仓库
git 在不同服务器主机上同步 git 仓库 参考链接:https://opentechguides.com/how-to/article/git/177/git-sync-repos.html 1. ...
- 三大跨平台网盘--dropbox
背景介绍 Dropbox是一个提供同步本地文件的网络存储在线应用.支持在多台电脑多种操作中自动同步.并可当作大容量的网络硬盘使用. 准备工作 帐号--dropbox官网 软件--windows/ubu ...
- Dropbox是同步盘,Box.net是网盘(所以要学习Box)
自从能无缝用Dropbox后,确实得瑟了很久,但只有可怜巴巴的2G空间,搞不出什么妖蛾子,dropbox的好用,世所共知.百度云盘2T的空间,我却不敢把重要的东西放在里面. 在还没有优盘的时候,我常常 ...
- Google Drive 和 Dropbox 同步同一个文件夹目录
Dropbox 也是非常棒的同步工具,例如先进的增量上传或者更开放的 API 等.可是为什么不曾想过把 Google Drive 和 Dropbox 同时使用呢,我是说,让这两者同时云同步同一个文件 ...
- 使用百度网盘+Git,把版本控制托管到云端
之前公司的一个项目使用SVN来做的版本控制,服务器设在我这台电脑上.然后是出于某些原因,我的电脑IP变了多次,每变一次就要重新绑定静态ip,甚是烦人.同时SVN这种集中式的版本控制服务在我关闭了我的电 ...
- mklink让网盘同步不同文件夹
mklink简介 Linux 下有一个叫符号链接的东东,是 ln 这个链接命令,mklink 和 ln 的功能几乎一样.在xp系统下,junction命令要用微软开发的小程序 junction.exe ...
- 用yunio网盘搭建git私有仓库
研究生开始奔波于教研室和寝室之间,于是想搭建一个git私有仓库来管理自己在做的项目或者学习资料.一来可以很方便的管理项目,二来可以学习使用git.我的主要工作平台是Linux,这也是我选择yuni ...
- MultCloud – 支持数据互传的网盘管理
MultCloud https://www.multcloud.com/ 是一款在线服务,可以在一个地方管理众多网盘,支持国产百度盘, 最具有特色的地方是你可以直接在 MultCloud 里操作将 D ...
随机推荐
- Java泛型解析(02):通配符限定
Java泛型解析(02):通配符限定 考虑一个这种场景.计算数组中的最大元素. [code01] public class ArrayUtil { public static <T&g ...
- 任务调度平台Cuckoo-Schedule
任务调度平台Cuckoo-Schedule 1 概述 1.1 平台概述 Cuckoo-Schedule是基于Quartz-Schedule的轻量级任务调度框架,具有易学习.易 ...
- vultr的80端口?
1.查看防火墙版本号firewall-cmd --version2.查看防火墙状态firewall-cmd --state3.添加80端口的权限firewall-cmd --zone=public - ...
- AndroidStudio一步步教你修改项目包名(最详细,最易懂)
如果你看了很多篇博文还是修改不了包名,我相信这篇可以帮你解决修改包名的问题 修改项目包名,实现不覆盖安装(如果只是想不覆盖安装,更改build.gradle里面的包名就OK了,那这篇博文到这里就可以结 ...
- 买不起360随声wifi怎么办?这些都不是问题
只需轻松一步,点击开启共享 软件下载地址:http://download.csdn.net/detail/lxq_xsyu/6384265 如果身边没有数据线怎么办?? 使用方法: 1.用手机连接Wi ...
- 阿里云CentOS7系统搭建JavaWeb环境
一,准备工作 1,安装目录 我们创建如下路径/usr/develop,然后在develop目录下面创建java,tomcat和mysql三个目录即可. 二,配置JDK 1.理解wget命令 wget命 ...
- WPF中的Generic.xaml, theme以及custom control
原文:WPF中的Generic.xaml, theme以及custom control 在Visual Studio中创建自定义控件时,所有控件都将添加到/Themes/Generic.xaml. 最 ...
- VAssist 使用技巧(函数声明定位,比VS的还要强大)
1. 有了VAX可以关掉C++导航栏,快捷键ALT+M,显示当前打开文档的所有符号,而且可以输入进行过滤 2. 查找文件,shift+alt+o (直接定位) 3. 查找符号shift+alt+s 4 ...
- MongoDB 可视化管理工具
MongoDB 可视化管理工具 (2011年10月-至今) 正文 该项目从2011年10月开始开发,知道现在已经有整整5年了.MongoDB也从一开始的大红大紫到现在趋于平淡.MongoCola这 ...
- 【读书笔记】——《A Brief History of Humankind》
I encourage all of us, whatever our beliefs, to question the basic narratives of our world, to conne ...