如何使用网盘托管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】两个步骤实现下载更新。
最后,如果需要多人协作,可以公用一个账号。注意,不要轻易泄露自己网盘用户名和密码。
最新文章
- java运行时内存模式学习
- java servlet手机app访问接口(三)高德地图云存储及检索
- SPOJ PHRASES 后缀数组
- SQLite语句练习题
- ubuntu_杂
- Web Server 和 HTTP 协议
- SimpleDateFormat线程不安全问题处理
- Inorder Successor in BST 解答
- C#语言和SQL Server 数据库处理
- 开源博客系统使用springmvc
- 为什么我说IPFS社区从卖矿机开始,就是错的
- Mybatis 学习---${ }与#{ }获取输入参数的区别、Foreach的用法
- 数据库查询的数据导出到xls表,集合数据导出到xls表
- python入门第二篇
- 请问微信小程序let和var以及const有什么区别
- tomcat中class和jar的加载顺序(转)
- Excel表格如何保护单元格不被修改
- solr与mysql数据同步的方案
- DOS命令行简单用法
- 【转】用instruments来检验你的app
热门文章
- C# 与 Unity 同名函数
- PHP基础14:表单处理
- [CareerCup] 2.6 Linked List Cycle 单链表中的环
- Linux 基础入门 第一周9.14~9.20
- 20145215《Java程序设计》第9周学习总结
- 关于 iOS 10 中 ATS / HTTPS /2017 问题
- 【MPI学习3】MPI并行程序设计模式:不同通信模式MPI并行程序的设计
- 扫描二维码下载安装apk的app
- onload是代码在也买你的追加元素的完成,而不是http请求的完成
- 开放封闭原则(OCP,Open Closed Principle)