话说近年来git已经成为项目源代码管理的标准工具,有不少免费托管网站可供使用,详情参考这篇文章:

http://www.cnblogs.com/zdz8207/archive/2012/05/20/2509356.html

对于个人开发的小项目,可能因太成熟、不想开源、觉得不安全等因素,不太愿意动用上述工具,本文给出一种基于同步网盘的git托管方案,可满足上述需求。

这种方法我是最早从codeproject上看到的:

http://www.codeproject.com/Tips/656476/git-and-Dropbox-Integration-within-Visual-Studio

上述文章采用Git-preview命令行模式实现,鉴于GUI操作更方便,在此,本人用【网盘同步盘】+【TortoiseGit】来完成Windows下的git项目托管,满足实现异地、多人协作要求。

一、准备工作

1)了解git的相关操作(commit、push、pull),如果一点都不了解,放心,按照本文内容做一遍,你就会有一个感性认识。

1)申请具有同步盘功能的网盘,比如百度、360、OneDrive、Dropbox等,下面仅以百度同步盘为例,其它网盘操作基本一样。

2)下载并安装如下软件:

(1)百度同步盘:http://pan.baidu.com/download

(2)TortoiseGit:http://download.tortoisegit.org/

3)设置好同步盘的本地文件夹,例如 X:\Yun

二、创建git仓库(respository)

如果项目已经创建过了,直接跳到第三步。

1)在文件管理器中切换到项目所在文件夹,如:E:\MyProjects\HelloWorld

2)在空白处单击右键,在弹出菜单中单击【Git Create repository here ...】,如下图所示

4)在弹出的对话框中单击【OK】,注意不要选择【Make it Bare】,这个选项后面会用到。

5)在不需要git托管的文件和文件夹上鼠标右键,按如下图方式添加到忽略列表(ignore list)中

6)在空白处单击右键,选择【commit】菜单,按如下方式完成首次 commit

三、在网盘同步文件夹中创建空仓储

1)定位到网盘同步文件夹 X:\Yun

2)新建一个文件夹用于存放项目仓储文件,如:X:\Yun\HelloWorld.git

3)切换到上述 X:\Yun\HelloWorld.git 文件夹

4)在空白处单击右键,在弹出菜单中单击【Git Create repository here ...】,在弹出的对话框中选中【Make it Bare】,单击【OK】完成,如下图所示

四、将同步盘文件夹中仓储文件夹设置为项目远程仓储

1)在文件浏览器中切换到项目所在文件夹(E:\MyProjects\HelloWorld),在空白处鼠标右键,选择【TortoiseGit】->【Settings】菜单,如下图所示:

2)在弹出的对话框中的左侧树形列表中选择【Git】->【Remote】,在右边的设置框中设置名称(Remote)、URL(设置为同步盘文件夹中的仓储地址),单击OK完成,如下图所示:

五、完成首次Push,将项目推送到远程仓储

在文件浏览器中切换到项目所在文件夹(E:\MyProjects\HelloWorld),在空白处鼠标右键,选择【TortoiseGit】->【Push】菜单,如下图所示:

六、使用同步盘的同步功能,将本地文件夹同步到网盘

七、如何在其它计算机上使用上述git完成项目开发

1)安装上述同步盘和TortoiseGit客户端

2)使用相同的网盘账号将网盘内容同步到计算机的文件夹,注意要确保 HelloWorld.git 被同步。假设同步文件夹为:F:\Yun

3)在计算机上新建文件夹用于存放项目文件,如:D:\HelloWorld

4)切换到上述文件夹,鼠标右键选择【Git Clone...】菜单,设置URL为:F:\Yun\HelloWorld.git,单击OK完成,如下图所示

八、不同计算机间的协作

在计算机上完成修改后,可通过【commit】->【Push】->【网盘同步】 三个步骤来实现提交;

在需要同步的计算机上,通过 【网盘同步】->【Pull】两个步骤实现下载更新。

最后,如果需要多人协作,可以公用一个账号。注意,不要轻易泄露自己网盘用户名和密码。

如何使用网盘托管git项目的更多相关文章

  1. 用yunio网盘搭建git私有仓库

      研究生开始奔波于教研室和寝室之间,于是想搭建一个git私有仓库来管理自己在做的项目或者学习资料.一来可以很方便的管理项目,二来可以学习使用git.我的主要工作平台是Linux,这也是我选择yuni ...

  2. 一键部署基于GitLab的自托管Git项目仓库

    https://market.azure.cn/Vhd/Show?vhdId=9851&version=11921 产品详情 产品介绍GitLab https://about.gitlab.c ...

  3. 百度网盘web端项目总结

    项目背景 网盘作为一个在线备份存储,共享文件的工具类产品,给人们的工作和生活带来了很大的帮助和便利.百度网盘是目前国内使用量最大的网盘产品,至今发展已有4年,总用户数超4亿,为了让用户有着更好的使用体 ...

  4. 使用快盘托管Git库

    Dropbox非常好用.可是我如今也没弄明确究竟哪里好用了.不如试试中国的金山快盘..起码不会操心被墙. cd ~/Kuaipan/repo git --bare init //初始化仓库 cd ~/ ...

  5. 百度网盘kbengine - warring项目下载地址

    http://pan.baidu.com/s/1k4J4y 下载解压之后,请看<<使用说明.doc>>,有更新指导

  6. 使用百度网盘+Git,把版本控制托管到云端

    之前公司的一个项目使用SVN来做的版本控制,服务器设在我这台电脑上.然后是出于某些原因,我的电脑IP变了多次,每变一次就要重新绑定静态ip,甚是烦人.同时SVN这种集中式的版本控制服务在我关闭了我的电 ...

  7. 使用百度网盘+Git,把版本控制托管到云端,附精彩评论

    http://www.cnblogs.com/vajoy/p/3929675.html 我试过多个这种双向同步的网盘,在网络状况不好.系统卡顿以及某些程序BUG的情况下,同步会有错乱现象,尤其是多个电 ...

  8. 使用百度云同步盘和Git Extensions进行代码托管

    一.软件安装 百度云同步盘和Git Extensions的安装和配置略过. 二.建立Git代码库,以[GHO2VMDK转换工具]项目为例 1. 建立本地代码库 进入[GHO2VMDK转换工具]项目文件 ...

  9. 使用网盘(Dropbox/Google Drive)同步Git仓库

    还在使用老掉牙的U盘搬运代码(文件)的方式,从一台机器上复制后,粘贴到另一台机器上?太Out了.使用Github 倒是一个非常不错的替代方法.但无论是基于什么理由都有可能不想把代码公开(毕竟Githu ...

随机推荐

  1. 基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    欢迎阅读daxnet的新博客:一个基于Microsoft Azure.ASP.NET Core和Docker的博客系统   2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客 ...

  2. [shell]. 点的含义

    . 的含义 当前目录 隐藏文件 任意一个字符 生效配置文件

  3. SQLServer如何删除字段中的某个字符串,或者替换为空格?

    sql="update Table set 字段=REPLACE ( 字段,'123' , ' ') where XXX条件"把字段中123替换为空格

  4. C++创建对象的两种方式

    C++创建对象有两种方式,在栈上创建对象(Objects on the Stack)和在堆上创建对象(Objects on the Heap). 假设我们有以下的类: #include <str ...

  5. GridView自定义删除操作

    今天,我们这里要说的就是在GridView里面如何新添加一行“删除”列,如何删除前弹出通知等. 首先,我们前端的代码如下: <asp:GridView ID="gridViewDxjk ...

  6. JS案例之6——瀑布流布局(1)

    在实际的项目中,偶尔会用到一种布局——瀑布流布局.瀑布流布局的特点是,在多列布局时,可以保证内容区块在水平方向上不产生大的空隙,类似瀑布的效果.简单的说,在垂直列表里,内容区块是一个挨着一个的.当内容 ...

  7. Andorid-15k+的面试题。

    andorid开发也做了3年有余了,也面试很多加企业,借此机会分享一下,我们中遇到过的问题以及解决方案吧,希望能够对正在找工作的andoird程序员有一定的帮助. 特别献上整理过的50道面试题目 1. ...

  8. [git]图解git常用命令

    本文图解git中最常用的命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 约定 命令详解 Diff Commit Checkout Detached HEAD(匿名分支提 ...

  9. [CareerCup] 9.2 Robot Moving 机器人移动

    9.2 Imagine a robot sitting on the upper left corner of an X by Y grid. The robot can only move in t ...

  10. 【面试必备】Swift 面试题及其答案

    初级 问题1- Swift 1.0 or later 什么是optional类型,它是用来解决什么问题的? 答案:optional类型被用来表示任何类型的变量都可以表示缺少值.在Objective-C ...