zoukankan      html  css  js  c++  java
  • 免费的Git私有代码托管服务

    涉及到与别人协作,需要考虑找个私有的Git托管服务。

    Github很有名,也很好用,只是免费版仅能用于开源项目。

    经过一番比较,最后选定了两个。

    Bitbucket

    Atlassian公司的托管服务。

    ------------------------------ 

     Bitbucket

    支持Git、Mercurial,免费版有5个用户限制。公有和私有仓库都可以无限制创建,有协作工具(Issue tracker,Wiki)。

    Assembla

    支持SVN、Git、Mercurial,免费版,无用户限制,无仓库限制,存储空间1G,没有协作工具(Issue tracker,Wiki等)。

    考虑先使用 Bitbucket, 当用户不够用的时候再迁移到 Assembla。

    ===================================

     Git是目前非常流行的一款分布式版本控制软件,创立者是Linus For Linux,最初就是用来管理Linux Kernel开发的,后来大家伙觉得这玩意儿很好用,就逐渐流行开了。Debian、Perl、Gnome、Android等众多开源项目都采用Git进行版本控制,当然也包括Git本身以及Linux kernel在内。

    合作开发一个项目,代码不便公开,而GitHub的免费账户只能建立公共仓库,私人仓库需要交纳每月7$的费用。本着能节约就节约的想法,我开始寻找其他的途径来寄存Git仓库。在本机自行搭建服务器也可以,但是比较麻烦,这时想到了dropbox。

    dropbox有一个共享文件夹的功能,可以与他人分享指定的文件夹。这不就是一个现成的在线仓库吗?既方便多机多平台存取,又可以限定访问的人员。说干就干,在google一些资料后,立即开始从零搭建。

    我使用的平台是Snow Leopard 10.6.7,至于Linux/Win下面,也是大同小异。分别安装好Git和Dropbox客户端就可以开动了。

    首先,在Dropbox中新建一个文件夹并共享给协作者AA,假定该文件夹名字是repo。完成后,我和AA都可以对repo进行存取操作。接下来,打开终端,在repo中初始化一个远程仓库。

    1
    2
    3
    4
    //我本机同步的dropbox文件夹位于~/Dropbox
     
    cd ~/Dropbox/repo    //切换到repo目录
    git --bare init      //初始化仓库

    初始化git库有两种方式,git init和git --bare init。两者区别在于,执行git init将在当前目录下建立一个.git目录存放git库,当前目录则作为工作目录存放工程文件;而--bare参数则是将当前目录用做git库目录,而不再建立一个.git子目录。一般在本地初始化仓库使用git init,而初始化远程仓库则加上--bare参数。因为远程仓库一般只是用来存放git库而已,没人会在远程仓库中进行check out或者编辑文件等操作。

    第二步,将项目添加到Git库。

    1
    2
    3
    4
    5
    6
    //假定我的工程目录位于~/MyProject
     
    cd ~/MyProject      //切换到工程目录
    git init            //在当前目录下初始化一个本地Git库
    git add .           //将当前目录下所有文件添加到索引
    git commit -m "first commit"     //提交

    好了,现在MyProject下的所有文件都已被纳入Git的管理中。接下来还是在~/MyProject目录下,执行以下命令:

    1
    2
    3
    4
    5
    //将~/Dropbox/repo添加为远程仓库,别名叫做droprepo
    git remote add droprepo file://$HOME/Dropbox/repo   
     
    //将本地仓库master分支push到远程仓库
    git push droprepo master

    OK,现在打开~/Dropbox/repo,你会发现~/MyProject下的所有文件都已经更新到Git库中。你可以在任何同步了你的dropbox的地方执行下面的命令来clone一份仓库的内容:

    1
    2
    //仓库地址,也就是你机子上同步的dropbox/repo的路径
    git clone file://$HOME/Dropbox/repo

    当然,共享了repo文件夹的协作者AA也可以在他的机器上执行上述命令来获得仓库内容。然后按照Git方式正常进行开发即可,在完成所有更新提交后,记得git push到远程仓库就可以了。

    大自然,飘然的风,QQ群: python技术交流群:453879716,人工智能深度学习群:251088643
    golang技术交流群:316397059,vuejs技术交流群:458915921 渗透技术:534096581,囤币一族:621258209,有兴趣的可以加入
    微信公众号:大自然预测(ssqyuce)原双色球预测, 心禅道(xinchandao)
  • 相关阅读:
    转:浅谈深度学习(Deep Learning)的基本思想和方法
    随记:我们需要怎样的数学教育?
    转 :hlda文献学习笔记
    转:关于Latent Dirichlet Allocation及Hierarchical LDA模型的必读文章和相关代码
    推荐算法相关总结表(包括DM)
    转 自己动手写推荐系统
    求熵 python 代码
    特征值与特征向量
    转: 谱聚类
    链接数据库
  • 原文地址:https://www.cnblogs.com/zdz8207/p/2509356.html
Copyright © 2011-2022 走看看