BitBucket (http://bitbucket.org/)是一家提供源代码托管服务的网站,之前免费提供一个私有代码仓库和无限的公共仓库,不过,2010年9月 被 Atlassian 收购了之后,开始提供无限制硬盘空间的免费服务,并且不限制私有代码仓库和公共代码仓库的数量。(网站也提供收费服务,不同的套餐,可使用的用户数不同, 但是,对于中小型团队来说,基本上没有什么差别,免费的服务已经基本足够使用了。)
主要的功能有:
1. 无限硬盘空间
2. 问题跟踪
3. 项目 Wiki
4. API 支持
5. 灵活的权限控制
6. 可自定义域名
7. RSS 修改历史
8. 自定义下载
BitBucket 的网站,采用 django(Python)开发,使用 Mercurial 作为 DVCS(分布式版本控制系统 – Distributed Version Control System)
Atlassian 是一家澳大利亚软件公司,创建于 2002 年,旗下有名的软件包括:
JIRA、Confluence 等。
用学校邮箱一认证就OK了。。。处理不到半小时。。。支持git、无限空间、私有项目也有无限协作者。。。碉堡了。。。http://dyao.iteye.com/admin/blogs/1770514/edit
学生是可以获得bitbucket的免费无限帐号
申请地址: 学生(http://www.atlassian.com/software/views/bitbucket-academic- license.jsp) 非盈利组织(http://www.atlassian.com/software/views/community-license- request.jsp)
1.Setting a username
The first thing you should do is set the username Mercurial will use for commits. It's best to configure a proper email address in ~/.hgrc 1 (or on a Windows system in %USERPROFILE%\Mercurial.ini) by creating it and adding lines like the following:
[ui]
username = John Doe <john@example.com>
If you have a URL to a browsable project repository (for example http://selenic.com/hg), you can grab a copy like so:
$ hg clone http://selenic.com/hg mercurial-repo real URL is http://www.selenic.com/hg/ requesting all changes adding changesets adding manifests adding file changes added 9633 changesets with 19124 changes to 1271 files updating to branch default 1084 files updated, 0 files merged, 0 files removed, 0 files unresolved
This will create a new directory called mercurial-repo, grab the complete project history, and check out the most recent changeset on the default branch.
3. Setting up a new Mercurial project本地提交
syntax: glob *.orig *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$
Init the repo:
$ mkdir test
$ cd test
$ hg init
Create a file
$ touch foo
$ hg st
? foo
Now create a .hgignore, in the root directory of your repo:
$ echo 'foo' > .hgignore
foo is now ignored:
$ hg st
? .hgignore
Test your .hgignore file with 'status':
hg status # show all non-ignored files
$ hg add # add those 'unknown' files $ hg commit # commit all changes into a new changeset, edit changelog entry $ hg parents # see the currently checked out revision (or changeset)
本地提交
本地的改动(新增、删除或修改),可以随时进行提交。这里的提交与svn之类的集中式代码管理工具不同,并不涉及到与服务器的交互,只是将代码改动提交到本地。
对于新增的文件,需要先将文件加入本地库管理。命令如下:
hg add
然后执行提交命令如下:
hg ci
如果你是第一次提交,可能报下列错误:
那是因为你还没有指定你的帐号信息,需要到本地库下面的.hg目录下找到hgrc文件,在里面加入一行,如下:
[paths] default = https://tielei@bitbucket.org/renren_platform/renren-api-python-sdk [ui] username = tielei <xxxx@gmail.com>
上面hgrc文件中请指定你在bitbucket系统的用户名和email。
然后重新执行hg ci提交代码。
这时会弹出记事本(或其它编辑器)提示你输入提交log,如下:
增加一个README文件。 HG: Enter commit message. Lines beginning with 'HG:' are removed. HG: Leave message empty to abort commit. HG: -- HG: user: tielei <zhangtl04@gmail.com> HG: branch 'default' HG: added README
保存后关闭该编辑器,则本地提交成功。
将改动push回远程库
首先查看一下本地库对应的远程库是哪个(可选):
hg path
输出类似下面的格式:
这说明本地库直接指向了renren_platform的远程库。
下面我们查看一下,本地库上有哪些修改,是远程库上没有的(可选):
hg out
输出类似下面的格式:
现在我们试一试将这个本地改动直接push回renren_platform的远程库:
hg push
中间会提供你输入你在bitbucket上的密码。
然后,你会发现,结果出错了!输出如下:
本地文件先删除后更新
hg remove --after
hg remove -A
If you intend to do addremove and commit, it can be joined with '-A' option as shown here:
hg commit -A -m 'Commit with addremove'
hg push
浙公网安备 33010602011771号