qq三国我要上天套装:QtCreator官方Git上手指南

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 05:56:32

QtCreator官方Git上手指南

Qt官方从4.5就开始开放源码库, 并鼓励社区参与贡献Qt的开发。 这个消息十分振奋人心, 但似乎周围的developer还没有人真正去做些什么,大家只是观望以及再观望,似乎是在等待第一个吃螃蟹的人勇于站出来。 那么,好吧,笔者就来啃啃这个硬硬的螃蟹壳~~

首先,缘起是看到Labs Blog里有人很得意地宣称 QtCreator有了法语版, 这就让笔者很不服气啦, 懒散的法国人都能完成这个任务,难道国人没有这个精神和毅力? 特地去creator的git上看了看… 没想到还真是没有! 当然, 其实国人中有想法并乐于付诸实践的人还是蛮多的, 只不过都在闷头苦干,未必会像法国人一样拿出来炫耀而已。 Qtcn上有位网友就share了他做的Creator翻译qm文件, 这种乐善好施的人已经不多啦~(咱cuteqt这里算是大集合 ^_^)。 在qtcn上联系了这位网友,他很慷慨地贡献了他的版本。

原以为翻译creator应该是项手到擒来的工作,况且还有个半成品, 做起来才发现工作量异乎寻常的大。 先是原来的翻译并非十全十美,仔细检查起来词不达意的地方还挺多。 再一个这个文件版本可能是1.2左右的,很多新增加的功能都没有翻译,新内容大约有1/4左右。 每条都要看过来对我的眼睛和大脑都是摧残啊~~

先不提这些让人头痛的事,今天主要是给大家介绍一下如果参与Creator的开发, 基本的操作和流程。 大家实践实践,顺便也来帮我翻译翻译,呵呵。

匿名用户只读访问

这个最简单, 先在电脑上装上git的客户端。 然后找到项目的git地址, 如creator项目,用git clone命令获得最新的代码:

     git clone git://gitorious.org/qt-creator/qt-creator.git

这样得到的是官方代码主干分支的内容。 如果具体到某个分支,就要用分支的git地址, 如笔者创建的用于中文翻译的分支:

     git clone git://gitorious.org/~shiroki/qt-creator/qt-creator-zh_cn.git

git的url地址可以在项目主页上查到。 Qt所有的项目基本上都在git上建有项目,总的主页在http://qt.gitorious.org/

匿名用户只能查看代码, 用于获得最新的代码修改。 如果想要参与其中,就必须要注册用户了。

注册用户参与开发

首先要注册gitorious.org网站的用户, 用该用户登录。  登录后点击页面右上角的”~用户名”会显示用户配置页面,在该页面里可以创建自己的工程, 可以查看用户的历史记录,如最近做了哪些push之类的。 我们要在这个页面完成一项重要的工作,就是上载ssh的public key。 这个是在你提交代码时用于鉴别你的身份的, 和用户名/密码方式的登录有异曲同工之妙。

下面以Linux host用户参与Creator的开发为例介绍具体的步骤。 (Windows的别问我啊,问google)

- 指定登录用户帐号

需要修改 ~/.gitconfig中的email和name, 填入git网站的注册信息。

- 创建ssh key pair
$ ssh-keygen -t rsa

这一步会在你的~/.ssh/下生成一对文件,笔者系统中为 id_rsa和id_rsa.pub, 前者是私钥, 放在自己的系统中不动,后者是公钥,要上载到git系统中作为身份标识。 打开id_rsa.pub文件,把其中的内容拷贝粘贴到git的add SSH key界面中, 保存。 这个公钥文件就代替登录密码的作用。

- 创建自己的代码分支

进到工程页面 http://qt.gitorious.org/qt-creator/qt-creator 在右侧有个“Clone this repository on Gitorious”,  点击此项,在下一页面中填写分支的名称, 如 qtcreator-zh_CN, 继续, 一个分支就建好了,默认你就是这个分支的owner。

进到你的克隆分支的主页http://qt.gitorious.org/~shiroki/qt-creator/qt-creator-zh_cn 可以看到该克隆的url

     Clone this repository (Git / HTTP) : git clone git://gitorious.org/~shiroki/qt-creator/qt-creator-zh_cn.gitPush url: git@gitorious.org:~shiroki/qt-creator/qt-creator-zh_cn.git (?)

右侧还有更详细的信息,如都有哪些人参与此项目。 在右侧的“Manage Collaborators”里可以添加其它的git用户为你的协作者,这样他们也可以拥有提交修改到你的克隆分支的权限。

- 在本地修改文件

- 添加修改

$git add filename

所有被修改的文件都需要用git add命令添加到本地的cache当中, 包括已经存在的文件和新添加的文件,之后git commit才能知道哪些文件需要提交

- 提交修改

$git commit

此命令是将修改提交到本地的cache, 不会影响server端的内容。 commit时需要填写本次commit的信息,标准信息包括,修改涉及到哪些文件,以及本次commit的描述信息,如修改了哪些东西,还有多少未完成,参与人和Review此修改的人是谁等等。 这里所有涉及修改的文件都会列出来,前面用#号注释掉, 需要将你想提交的文件前面的#号去掉。

git add..和git commit两个命令在编辑本地文件的过程中可能被频繁调用。确定修改告一段落,需要提交到server了,这时用到git push 命令

- 提交修改到server端

$git push

还可以用 $git push –dry-run查看push操作, 加了dry-run参数git就只是假装push了一下,并没有真正提交数据。

过一会儿回到你的克隆分支页面就可以看到本次提交的log信息了。

- 提交merge申请(这一步笔者还没实践,暂时先留着以后补充)

由于我们的修改只是针对自己的克隆分支,要想让官方接受我们的修改,还需要提交merge申请。  该申请在克隆分支页面的右方可以看到 “Reguqest merge”, 在提交merge 申请的时候还要签署一个版权方面的协议,估计是声明提交的代码没有版权纠纷,并且放弃个人版权之类的。 后面我们能做的就是等待了。 merge申请由官方专人去review, 经过审核就有可能被并入官方的master分支。 当然也有可能审核失败, merge被rejected, 这个怎么解决就得等真正遇到了才知道。

参与Creator中文化项目

笔者已经在git上建好了qtcreator中文化的分支, 有兴趣的参与的同学可以选择适合自己的方式。 如简单的, 匿名方式获取zhcn分支的代码, 用linguist工具打开 share/qtcreator/translations/qt-creator-zh_cn.ts文件, 检查其中的内容, 看看是否有翻译错误。 (如果发现有需要修改的地方,最好是做个patch给我。)

另外一种是真正的参与, 注册个git用户, 告诉我你的用户名, 我把你的用户加为collaborator, 这样你就可以在本地修改ts并提交到git服务器上, 其他的collaborator也可以及时看到你的修改。 唯一还需要协调的就是分工问题了,这是后话, 等有人参与的时候我们再来讨论。

可以在qq群,blog/bbs留言

Tags: git, qtcreator
This entry was posted on Thursday, January 7th, 2010 at 6:09 am and is filed under Qt技术. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.