分类: 研发管理2013-02-22 14:41 1291人阅读 评论(0) 收藏 举报

本文主要来自于萧_瑟BLOG  和牛仔的移动开发博客,并综合了多篇网上文章。

代码版本控制系统在局域网内Subvision用的比较多,但其局限性太多。在代码审查、异地合作等功能方面比较弱。目前比较出名的分布式版本控制系统有Bitbucket和Github两家。前者可以创建免费的私有库(用户不超过5人),方便个人或微型项目/组开发项目;后者功能更强大,收费,比较适合公司进行代码版本控制。

以下是两种分布式版本控制系统的比较

如果您有个小团体项目,只需要三、四条枪协作开发,暂时还不想开源,又不想付费,那么请选择使用BitBucket远程托管你的代码。下面我们来介绍下BitBucket。

Atlassian BitBucket 是一家源代码托管网站,网站地址:https://bitbucket.org。采用Mercurial 做为分布式版本控制系统。默认的免费账号,可以总共有5个帐户对你的私有库进行读写;他们给非营利组织(NPO)和大学生免费申请无限账号(原价$80每月)的机会。何为无限账号:Bitbucket提供每个用户无限公开和私有库,唯一限制的是对私有库有读写权限的帐户总数。默认无限账号则有无限的名额,但是每月需要付80美元的费用。

  • 通过集成的源代码浏览和代码检查工具,轻松地查看代码、检查贡献以及维护高质量代码库
  • 使用简单却灵活而强大,并且可适应任何开发过程的问题追踪器和项目 Wiki
  • 通过标星号和更新流,轻松地跟踪您所关注的项目及开发人员

创建BitBucket代码仓库步骤:

1. 首先注册bitbucket用户,https://bitbucket.org/

2. 新建一个代码仓库(Create a new repository),填入仓库名和描述后使用默认设置创建完一个仓库。

3.建好一个repository后,会发现下面有它的远程https连接,类似于https://abcdef@bitbucket/yourname/repositoryname的连接  (比如我的账户是royal2xiaose,并且建了一个名为myrepository的库,则连接是https://royal2xiaose@bitbucket.org/royal2xiaose/myrepository)。

4. 安装TortoiseHg(下载地址:http://tortoisehg.bitbucket.org/download/index.html)。注意选择适合自己的操作系统的版本。

5. 打开安装好的ToroiseHg(workbench)软件,在file菜单项选择----新建仓库,点击浏览,将目标指向你的项目文件夹下。  (比如新建一个java项目,名为testBitbucketRepo,并随便新建一个类TestBitbucket.java)

6.然后在TortoiseHg Workbench中便可以进行如svn般的版本控制了。

7.同步远程库地址URL配置

8.提交后可能会要求输入用户名和密码

这样以后,就可以真正提交上传到我们的bitbucket在线免费库上了。

备注:上述方法在客户端使用的是TortoiseHg版本管理工具,其实还有另外一个客户端软件可以使用TortoiseGit。Tortoisegit是TortoiseSVN的Git版本,Tortoisegit用于迁移TortoiseSVN到TortoiseGit。关于它的安装、使用介绍请参见凡春秋的新浪博客。其最新版本是1.8.1

(转)私有代码存放仓库 BitBucket介绍及入门操作的更多相关文章

  1. github仓库主页介绍、用git管理本地仓库和github仓库、搭建网站

    github仓库主页介绍 名词解释: 工作区: 添加.编辑.修改文件等动作 暂存区: 暂存已经修改的文件,最后统一提交到git中 git(仓库): 最终确定的文件保存到仓库,成为一个新的版本,并且对他 ...

  2. 【奔走相告】- Github送福利:用户可免费创建私有代码库啦

    最新消息 PingWest品玩1月8日讯,据TheNextWeb消息,据美国科技媒体The Next Web报道,被微软收购的代码平台GitHub最近调整政策,用户免费创建无限空间私有代码库(priv ...

  3. CODING 代码多仓库实践

    关于代码的管理问题已经讨论多年,随着企业业务的复杂度提高.软件行业技术栈的选择度变宽泛,现代软件的代码仓库也变得越来越庞大和复杂.一个中型项目,将测试代码.核心业务代码.编译构建.部署打包等基础设施的 ...

  4. 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装

    1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)复杂度分布(complexity):代码复杂度过高将 ...

  5. iOS Sprite Kit教程之编敲代码以及Xcode的介绍

    iOS Sprite Kit教程之编敲代码以及Xcode的介绍 Xcode界面介绍 一个Xcode项目由非常多的文件组成,比如代码文件.资源文件等.Xcode会帮助开发人员对这些文件进行管理.所以,X ...

  6. 转:Android 2.3 代码混淆proguard技术介绍

    ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反 ...

  7. 通过git提交代码到仓库

    昨天有一个妹子问我如何在还没有commit之前push本地的代码到仓库,现在写写,希望能够帮到大家. 当我们pull的时候会出现没有代码commit的错误提示,在这种情况下,我们需要再commit之前 ...

  8. GitHub私有代码库将免费开放

    1月8号消息,微软收购 GitHub 后,官方宣布了一项重大更新:免费开放私有代码库, 即 GitHub 用户现在可以免费创建无限量的私有存储库.同时还有另一项更新——GitHub Enterpris ...

  9. JavaScript代码存放位置

    JavaScript代码存放位置 HTML的head中 HTML的body代码块底部(推荐) 由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置 ...

随机推荐

  1. 移动端 input 输入框实现自带键盘“搜索“功能并修改X

    主要利用html5的,input[type=search]属性来实现,此时input和type=text外观和功能没啥区别: html代码入下: <form action="" ...

  2. python 数据类型 之 tuple 元组

    python 3.6.5 元组的特性和定义 与列表类型 只不过 [  ] 改成了() 特性: 1.不可变(元组本身不可变,但是可以存可变类型的element){猜测因为可变element的地址不可变而 ...

  3. andorid 对话框

    activity_ui2.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  4. PHP 语句 函数 字符串处理

    语句: 一:分支语句 1.if(条件1){满足条件1执行} 2.if(条件1){满足条件1执行}else{不满足条件1执行} 3.if(条件1){满足条件1执行}else if(条件2){满足条件2执 ...

  5. accept与epoll惊群 转载

    今天打开 OneNote,发现里面躺着一篇很久以前写的笔记,现在将它贴出来. 1. 什么叫惊群现象 首先,我们看看维基百科对惊群的定义: The thundering herd problem occ ...

  6. Java的OOP三大特征之一——多态

    OOP(面对对象)三大特征之一——多态 What:多态性是指允许不同类的对象对同一消息作出响应,多态性包括参数化多态性和包含多态性,多态性语言具有灵活.抽象.行为共享.代码共享的优势,很好的解决了应用 ...

  7. How To Configure SAMBA Server And Transfer Files Between Linux & Windows

    If you are reading this article it means you have a network at home or office with Windows and Linux ...

  8. Ubunton安装mysql

    #手下下载tar.gz包#首先手工建立mysql用户和用户组 > groupadd mysql > useradd -r -g mysql mysql#然后就是安装的解压 编译安装 > ...

  9. mysql 设置用户并授权

    一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指 ...

  10. php实现MySQL两库对比升级版

    define('DATABASE1', 'db1'); $dbi1 = new DbMysql; $dbi1->dbh = 'mysql://root:password@127.0.0.1/'. ...