如何使用网盘托管git项目
话说近年来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项目的更多相关文章
- 用yunio网盘搭建git私有仓库
研究生开始奔波于教研室和寝室之间,于是想搭建一个git私有仓库来管理自己在做的项目或者学习资料.一来可以很方便的管理项目,二来可以学习使用git.我的主要工作平台是Linux,这也是我选择yuni ...
- 一键部署基于GitLab的自托管Git项目仓库
https://market.azure.cn/Vhd/Show?vhdId=9851&version=11921 产品详情 产品介绍GitLab https://about.gitlab.c ...
- 百度网盘web端项目总结
项目背景 网盘作为一个在线备份存储,共享文件的工具类产品,给人们的工作和生活带来了很大的帮助和便利.百度网盘是目前国内使用量最大的网盘产品,至今发展已有4年,总用户数超4亿,为了让用户有着更好的使用体 ...
- 使用快盘托管Git库
Dropbox非常好用.可是我如今也没弄明确究竟哪里好用了.不如试试中国的金山快盘..起码不会操心被墙. cd ~/Kuaipan/repo git --bare init //初始化仓库 cd ~/ ...
- 百度网盘kbengine - warring项目下载地址
http://pan.baidu.com/s/1k4J4y 下载解压之后,请看<<使用说明.doc>>,有更新指导
- 使用百度网盘+Git,把版本控制托管到云端
之前公司的一个项目使用SVN来做的版本控制,服务器设在我这台电脑上.然后是出于某些原因,我的电脑IP变了多次,每变一次就要重新绑定静态ip,甚是烦人.同时SVN这种集中式的版本控制服务在我关闭了我的电 ...
- 使用百度网盘+Git,把版本控制托管到云端,附精彩评论
http://www.cnblogs.com/vajoy/p/3929675.html 我试过多个这种双向同步的网盘,在网络状况不好.系统卡顿以及某些程序BUG的情况下,同步会有错乱现象,尤其是多个电 ...
- 使用百度云同步盘和Git Extensions进行代码托管
一.软件安装 百度云同步盘和Git Extensions的安装和配置略过. 二.建立Git代码库,以[GHO2VMDK转换工具]项目为例 1. 建立本地代码库 进入[GHO2VMDK转换工具]项目文件 ...
- 使用网盘(Dropbox/Google Drive)同步Git仓库
还在使用老掉牙的U盘搬运代码(文件)的方式,从一台机器上复制后,粘贴到另一台机器上?太Out了.使用Github 倒是一个非常不错的替代方法.但无论是基于什么理由都有可能不想把代码公开(毕竟Githu ...
随机推荐
- NET Office 组件Spire
高效而稳定的企业级.NET Office 组件Spire 在项目开发中,尤其是企业的业务系统中,对文档的操作是非常多的,有时几乎给人一种错觉的是"这个系统似乎就是专门操作文档的" ...
- 深入理解abstract class和interface(转)
原文地址 深入理解abstract class和interface java提高篇(四)-----抽象类与接口
- Zxing二维码重复扫描,不退出。
扫描条码,把手机实现类似超市扫描枪之类的连续扫描. private void continuePreview(){ SurfaceView surfaceView = (SurfaceView) fi ...
- 反射中getMethods 与 getDeclaredMethods 的区别
public Method[] getMethods()返回某个类的所有公用(public)方法包括其继承类的公用方法,当然也包括它所实现接口的方法.public Method[] getDeclar ...
- IT应届生如何准备找工作?
今天和一个弟弟吃饭,他明年年初即将计算机研究生毕业.谈论到怎么找工作,觉得自己会的不多,心里非常发虚.虽然我当年找工作也走了很多弯路,思路并不是很清晰.但是工作了这么多年,对企业需要什么样子的人还是有 ...
- js之数组,对象,类数组对象
许久不写了,实在是不知道写点什么,正好最近有个同事问了个问题,关于数组,对象和类数组的,仔细说起来都是基础,其实都没什么好讲的,不过看到还是有很多朋友有些迷糊,这里就简单对于定义以及一下相同点,不同点 ...
- 分享我收集的引擎、图形学、WebGL方面的电子资料
本文分享我这一年以来收集的我认为比较经典的电子资料,希望能对大家有所帮助! 本文会不断更新! 目录 WebGL Insights OpenGL Insights Game Programming Pa ...
- 打开mmc后添加单元,出现停止工作的解决方法
出现mmc停止工作,一般是其他软件的影响.关闭其他软件就可以了,但不知道是什么软件,所以只有进入干净状态.(也可以进入安全模式) 1.如何进入干净启动状态: ===================== ...
- 我给出的一份Java服务器端面试题-适合电话面试
这部分内容,参考了<面试官的七种武器>一文. 电面与face2face的面试还是有区别的,很多考察方式无法使用. 从简历聊起,逐渐进入正题. Java语法 重载与重写的区别? java如何 ...
- struts2+Hibernate实现用户登陆功能
实现的功能,在登陆页面输入Username和PassWord后,将username和password通过Hibernate匹对数据库是否含有一样的username和password,若有则登陆进去,若 ...