作为一个著名的在线项目代码托管网站,Google Code目前主要支持三种版本控制系统,分别为Git, Mercurial和Subversion。Subversion即SVN相信大家都已经熟知了,这里我们要介绍的是最近新增的Git版本控制系统。
如果您在GoogleCode上的项目已经使用SVN进行版本管理,也可以很方便的在本地使用Git对项目进行版本管理。详细操作步骤请参考:
下面我们要讲的主要就是如果在GoogleCode网站上使用Git版本控制系统来管理我们的项目代码。
一、注册Google 账户
使用GoogleCode进行项目代码托管,您首先需要一个Google账户。如果您还没有,请通过以下链接注册一个,否则请跳过这一步。
注册Google 账户:https://www.google.com/accounts/NewAccount?hl=zh-cn
二、创建新项目(使用Git进行版本控制)
![]()
2、这里我们以library-books项目为例,这个项目主要是用来管理平时撰写的一些原创笔记。该项目创建说明如下:Project name:library-books//项目名称
Project summary:library-books//项目概述,可以用一句话概括项目的主要内容
Description:library-books//项目描述,可以更详细的描述项目的主要内容
Version control system:Git//版本控制系统,这里我们选择Git
Source code license: GNU GPL v3//代码协议选择,这里我们选择GNU GPLv3
Project label(s):books,opensource//项目标签,主要是作为项目关键字,方便别人搜索适合进行索引 填写完毕后,点击"Createproject",项目创建完成。
三、项目设置
1、点击进入Google Code管理设置页面:记录下GoogleCode.com Password,待会要用。
2、在 "UserPreferences"字段下找到以下选项:Security
选中该选项,以确保用户通过Git客户端能够正常登陆到Google Code进行版本管理。
四、项目管理
1、进入项目管理主页面,依次点击"Source-Checkout",进入Checkout页面。这里我们可以看见有两种方式可以访问项目代码:Option 1: 切换到工作目录,在终端输入以下代码,检出空仓库。
git clonehttps://yanghui1986527@code.google.com/p/library-books/
Option 2: 通过创建.netrc文件保持访问授权。在Home目录下创建.netrc文件,添加以下代码到 .netrc文件中:
machinecode.google.com login yanghui1986527@gmail.compassword
注:password请参考第三项操作步骤。这里我们采用第二种方式,免得频繁输入复杂的密码。
2、切换到工作目录,在终端输入以下代码,检出空仓库。
git clone https://code.google.com/p/library-books/
3、在空仓库中创建项目,并完成项目。项目完成后,切换到项目目录,输入以下命令,将项目推送到Google Code。
git pushorgin --all
五、扩展知识
1、如何将已有项目推送到Google Code?答:首先切换到项目目录,初始化Git,然后提交代码。
gitinit
git add.
git commit-a -m "Initial Branch"
然后添加Google Code远程仓库
git remote add originhttps://code.google.com/p/library-books/
最后,将项目代码推送到Google Code。
git push orgin --all
2、如果我的项目代码已经托管在本地仓库,怎么再将项目托管在Google Code?
答:首先切换到项目目录,输入以下命令,显示远程仓库:
snowdream@snowdream:~/workspace/git/Library-Books$ git remote-v
originssh://git@snowdream/Library-Books.git (fetch)
originssh://git@snowdream/Library-Books.git (push)
我们可以看到该项目已经托管在本地仓库。接下来我们通过以下命令添加Google Code远程仓库。
git remote add googlecodehttps://code.google.com/p/library-books/
注:命令中googlecode为仓库别名,可以进行自定义。
再次显示远程仓库,如下所示:
snowdream@snowdream:~/workspace/git/Library-Books$ git remote-v
googlecodehttps://code.google.com/p/library-books/ (fetch)
googlecodehttps://code.google.com/p/library-books/ (push)
originssh://git@snowdream/Library-Books.git (fetch)
originssh://git@snowdream/Library-Books.git (push)
最后,将项目代码推送到GoogleCode。
git pushgooglecode --all
3、我对Git版本控制系统还不熟悉,请问怎么了解,学习使用Git版本控制系统?
答:您可以通过以下在线教程了解和学习怎样使用Git版本控制系统:
Pro Git 中文版:http://progit.org/book/zh/
Git Magic中文版:http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/zh_cn/
Git Reference英文版:http://gitref.org/
Git Documentation英文版:
http://git-scm.com/documentation
其中我遇到了些问题
1、git clone https://shmcclmm@code.google.com/p/your-paper/
的时候,你可以会遇到, http 没响应什么的,换 git clonehttp://shmcclmm@code.google.com/p/your-paper/ ,我这边OK了。。。 2、在 git push 的时候提示什么
fatal:https://code.google.com/p/mdanalysis/info/refs not found: did yourun git update-server-info on the server? 那就参考https://code.google.com/hosting/settings,
推荐先加入.netrc
再git clone http://code.google.com/p/your-paper/
最后在你提交完代码后git push
,我是这么解决的 至于为什么,我也还没搞明白,貌似是用第一种clone之后的很多命令都是默认值,没密码的,最终导致一堆一堆问题。。
希望能有高手帮忙解答。。。
3、如果git push 出问题,那就用git push origin master
4、在git树中看到的作者名字和email可以用这个改:
git config--global user.name "xxx"
git config--global user.email xxx@xxx.com
也可以看看这个