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

以前公司的一个项目使用SVN来作的版本控制,服务器设在我这台电脑上。而后是出于某些缘由,个人电脑IP变了屡次,每变一次就要从新绑定静态ip,甚是烦人。同时SVN这种集中式的版本控制服务在我关闭了个人电脑以后,其余小伙伴们就没法同步了。git

因而乎也懒得去研究SVN是否支持远程云仓库的方式来共享项目,转投最近更火的Git。github

Git是个好东西啊,能够直接remote到github的仓库上,不就解决了鄙人的问题么?不过github毕竟是开源的(除非你愿意每月花几美刀去把仓库转私有),总不肯意本身公司的项目源代码随便被别人搜索到和下载吧。缓存

因而乎便使用了一个最简单的办法——把版本控制服务(.git)托管到云服务器(网盘)上!安全

下面来唠嗑下实现的步骤。建议您先把本文所有看完一遍再动手尝试,防止逻辑混乱。服务器

(一)首次将项目版本控制托管到云网盘上svn

⑴ 首先你要在百度网盘这里注册个账号:http://pan.baidu.com  ,即便你有本身的百度账号了,依旧建议你从新注册一个公共的账号,毕竟项目的小伙伴们要一同使用这个百度账号来同步.git的。fetch

注册并激活以后,在网盘里新建一个文件夹用于存放从此的同步文件,以下所示,我新建了一个叫 git 的文件夹:ui

⑵ 接着到 http://pan.baidu.com/download#pan 下载同步盘下载并安装好百度同步盘后,用你注册的百度账号登陆,它会要你设置同步盘的位置,这里你随便选择一个文件夹,注意不是你项目的文件夹。以下图,我在F盘新建了一个gitbak文件夹来做为同步文件夹:spa

⑷ 接着它会让你选择网盘上的须要同步的文件,咱们勾选上以前新建的 git 文件夹,点击“肯定”按钮便可:命令行

自此你就完成了须要在百度网盘上的全部操做,咱们打开 F:\gitbak 文件夹看看,会发现本来是空的文件夹下多了两个文件:

其中.baoche.cache 文件夹是百度云盘的数据文件夹,无需理会,而git是网盘从云端同步到咱们电脑来的文件夹。只要咱们修改了git文件夹里的内容,百度云网盘就会第一时间更新到云端。

搞定了百度云盘,咱们要接着捣弄Git了,咱们续着上方步骤⑷接着讲~

⑸ 没安装Git的朋友请先来 http://git-scm.com/download/ 下载并安装Git,安装方式很简单,各类Next便可,只是杀毒软件可能会询问是否容许该软件的操做,仍是得留心下防止被阻止了。

装好以后,咱们打开项目文件所在的根目录(好比个人项目根目录是D:\VJProject ),右键并选择“Git Init Here”,告知Git这个文件夹须要作版本控制,而后Git就会在该目录下自动建立一个.git 文件夹用于放置版本控制信息:

⑹ 咱们依旧在该项目根目录里点击右键,不过此次选择的是“Git Gui”,它会打开Git图形用户操做界面,咱们选择“编辑”-“选项...”:

在弹出的窗口输入左右两处用户名和邮箱,再点击保存便可。此处填写的用户信息能够帮助咱们之后在修改项目文件时,知道是谁作的修改:

保存后咱们依次点击“缓存改动”-“签名”-“提交”,此举是将改动所有保存到你本机上(项目根目录的.git文件夹里):

⑺ 咱们接着回到项目根目录文件夹,依旧右键,选择“Git Bash”进入命令行界面,输入命令:

git clone --bare . F:/gitbak/git/VJ.git

该命令是将当前文件夹的.git库拷贝到网盘同步文件夹F:/gitbak/git下,回车后以下所示:

此时咱们进入网盘同步文件夹F:/gitbak/git,会发现克隆成功(多了一个VJ.git文件夹):

该文件夹将做为咱们远程提交的库(虽然它实际上是在咱们本机上的,算不上远程,但别忘了它会被同步到百度云网盘上),下一步咱们将在Git中添加该.git文件夹为远程仓库。

⑻ 在项目根目录右键选择“git Gui”回到GUI主界面,咱们点击“远端”-“Add”:

在弹出的窗口输入本机百度云同步到的.git路径信息:

(二)在其余电脑上共享云端的版本控制服务

经过上述的操做,咱们把Git的服务变相托管到百度云网盘上,接着说说如何在其它电脑上共享这个服务。

⑴ 首先这台电脑得安装好Git,而后安装好百度云网盘,用以前注册的那个共用的百度账号登陆,而后选择要存放和同步云端文件的本机上的文件夹:

 

并选中网盘上已有的git文件夹:

点“肯定”后百度同步盘就会把咱们以前同步到云端的.git文件夹同步到当前电脑上:

⑵ 在要放置项目文件的地方新建一个文件夹(本例咱们在G盘新建一个文件夹Project),而后在文件夹中点击右键,选择“Git Bash”:

在弹出来的命令行窗口输入

git clone V:/gitSyn/git/VJ.git

而后回车。此举会将项目文件都拷贝到咱们刚刚新建的文件夹去:

你能够打开这个被克隆出来的文件夹,会发现项目文件都无缺地拷贝在里面了:

 

⑶ 咱们试着随便修改项目中的某个文件,而后在项目根目录点右键,选择“Git Gui”打开用户界面,而后依次选择“缓存改动”-“签名”-“提交”-“上传”:

上传的时候直接点“上传”按钮便可,它会自动帮你更新到本机的网盘同步文件夹(V:\gitSyn\git)去,无须像以前那样再点“远端-Add”来添加远端仓库了:

注意“提交”按钮是把改动提交到本机(项目文件夹),而“上传”才是把改动提交到远端仓库(百度网盘同步的文件夹)。你能够依照改动需求屡次提交后再点上传也无妨。

另外一点要注意的是,在新电脑上同步好远端git库后,要在gui上点击“编辑”-“选项”,而后输入这台电脑的操做者:

这样才方便之后查看版本变更信息时知道分别是由哪些小伙伴作的更改。

(三)协同合做

在上述的俩大步骤都完成后,咱们看下如何在Git协同工做。

在你平常修改好代码后,请先点击“远端”-“从...获取fetch”来更新远端的库,也许你的小伙伴们对这个项目也作了修改不是么:

这一步仅仅是将远端库下载到咱们本地,但并无更新咱们的本地库,咱们还须要再点击“合并”-“本地合并”,在弹出的窗口选择跟踪分支来合并远端和本地的库:

这时候你就能够顺利上传了(若是远端库有变更,而你没有先fetch远端,Git不会容许你提交的,从而避免版本冲突)。

(四)其它

⑴ 消除gui上的中文乱码

在查看改动信息的时候(好比点“版本库-图示master分支的历史”),若代码上含有中文,在gitui上都会显示为乱码。解决方法是打开Git的安装目录,而后找到 etc\gitconfig 文件,在里面修改或者加入下述代码:

[gui] encoding = utf-8 [i18n] commitencoding = gbk [svn] pathnameencoding = gbk

再用gui查看中文内容就不会出现乱码了。

⑵ 无关文件不作版本控制

有时候有些文件虽然存放在项目中,但却无需作版本控制,好比咱们上述例子中项目根目录上的.suo文件,它是VS产生的用户自定义配置记录文件,仅对本机用户有意义。

要让Git不记录这些文件的变更,咱们能够在项目根目录的.git文件夹中找到info/exclude文件:

用记事本打开它后在最后加上:

*.suo

保存便可,此举告诉Git无需记录任何.suo文件的改动。

固然有资源的公司和勤劳的你能够自行搭建一台服务器来托管项目,特别是当项目数据很是重要和敏感的时候,以物理隔离的方式放在局域网内无非是最安全的做法。

若是你的项目文件不会超过1G且团队成员小于5人,并且不怕超慢的链接速度的话,直接托管到Bitbucket上便可。

总而言之托管到网盘上也是一种新鲜好玩的作法,但愿或多或少能给你一些小帮助。最后感谢烟波君提供的指导~共勉~

相关文章
相关标签/搜索