这个教程会更新连续几天。

合作开发者教程

目录

  1. 注册及合作开发确认
  2. 初识代码仓
  3. 编辑网页
  4. 复制并编辑本地代码仓
  5. 将本地代码仓推至服务器
  6. 将服务器代码仓拉至本地
  7. 杂七杂八

欢迎加入合作开发者(Collaborator)!~

注册及合作开发确认

首先你得去github.com上注册一个账号。

然后联系我,通过QQ或者邮箱都可以。告诉我你注册的用户名。

接着我在我这边向你发出合作开发者邀请。

你在你的邮箱中将会收到一封邮件,依照邮件中的指引确认这个邀请。

确认之后,你在这个叫做JYYZrubik的organization中就拥有了和我一样的权限了。

初识代码仓(repository)

打开github.com/JYYZrubik,这里就是我们的organization啦。

打开那个目前还是唯一的repo,叫做JYYZrubik.github.io的repo,你会看到一堆文件&文件夹。

点击一个文件,就可以看它的源代码了。或者点击文件夹,看看文件夹里面的东西。

源代码自带语法高亮功能,花花绿绿的,感觉很高级的样子是不是?

不过,我们要驯服它。

网页的标准是人做的,网页也是人做的,我是人,我怎么就不能去学习并学会它?我怎么就不能去自己做个网页?

编辑网页

HTML,即超文本标记语言,英文How To Make LoveHyperText Mark Language,是用来描述网页的一种标记语言。

所谓标记语言,(markup language),指的是一套标记标签(markup tag),标签大多数是成对出现的,一个称为开始标签,一个称为结束标签。

比如,<p>一些文本</p>

带斜杠的是结束标签。并且如果标签需要嵌套,注意嵌套的顺序。

比如,<p><a name="name">一些文本</a></p>

一个HTML文档也被称为网页

所谓浏览器其实就是阅读并解析html标签的工具而已。

这里我必须插个广告,w3school.com.cn是个非常好的免费在线Web技术教程,只有少量可以忍耐的广告,并且该网站的词语使用非常平和且易懂,是个不可多得的学习网站。你甚至可以找到它的全站打包,CHM格式,在安卓上有CHM阅读器可以帮助。不过在使用全站打包之前请注意打包日期。

这里有一些东西必须看一下。

下面列举一些比较常用的标签:

复制并编辑本地代码仓

这时你有多种选择了,是在Windows上还是在Android上?或者直接在网上编辑?

For Windows:

下载并安装git。注意git的很多版本都有Bug,不过大部分不影响我们的使用。不过别用1.8.5版,它的https方式上传有问题,只能用SSH方式上传。而说到SSH,现在问题来了。。。

安装的过程就一直下一步就行了,当然改安装位置也是可以的。

完了之后桌面上就出现了Git Bash和Git GUI,第一个是命令行界面,第二个是图形化界面。当然图形化我用不习惯,所以下面只介绍命令行下的操作。

注意,以下所有的命令都有$在开头,那个$也是你们看到的输入位置前面的$。换句话说,不用理它。

切换目录命令:

$ cd 要切换到的目录

切换到要保存这个网页的目录之后,我们就可以下载了:

$ git clone https://github.com/jyyzrubik/jyyzrubik.github.io

直到再显示$ 之后,下载完成。这时可以exit。

编辑它们!

不过在这之前先看一下上面那个得看一下的东西。

用编辑器打开一个网页,改啊改,改啊改…

啊,改完了,保存。

等会,我忽略了什么!

我们需要分支!

Git是一个分布式代码管理系统,这说明它带有它的特性,分支(branch)。

先在远端(remote)也就是那个代码仓的网页那里,有一个绿色按钮,右边有branch:master字样,点击它,在出来的空白处填写一个不存在的分支名,然后点那个蓝色条,创建它。

咱规定一下分支名格式:

主分支叫做master是固定的,所以我们的分支名格式拟定为:

master-for-届数-姓名拼音

因为93届只有我一人,所以我自己的名字省了。但是94和95以及以后都应该不止一人,所以,名字。

然后我们来切换分支。注意这时如果在之前安装的时候你是一路next下去的话它增添了右键菜单所以你可以直接右键Git Bash而不需要每次都cd。不过1.9.5的Bug就是这样会导致前面的那个explorer卡死,退出git又回复正常。现在最新版是2.2.1,不过得下载源代码自己编译。我知道你们中的大多数人都不会这么做的。

$ git branch 分支名

这样就创建了一个以分支名为分支名的新分支。

$ git checkout 分支名

这样就把代码仓切换到了一个新的分支。

然后改啊改,改啊改,改完就把它推到远端吧。

For Android:

嗯,我习惯用的是AIDE,它有个PhoneGap版,专门来做PhoneGap/Cordova跨平台应用(很搞基高级是不是?其实就是做网页应用然后用浏览器打包而已嘛),我看中的是它的HTML/JS/CSS语法高亮功能&&git功能。

直到某一天,我发现了AIDE 2.9.1。

这真是他喵卧了个大槽啊!AIDE什么时候支持HTML语法高亮了?还把PG/Cordova都加进去了?还增加了学习功能?

别高兴太早,只有2.9.1支持这些功能,更早或更晚的版本都不支持,所以。。。

下载AIDE2.9.1或者AIDE for PhoneGap。注意后者在开WiFi的时候有一定几率闪退,原因未知。(貌似是空指?)

安装。

打开。

右上角的三个点,更多,设置,git源控制,填写用户名和邮箱。

然后克隆git库,右上角三个点,文件,克隆git库。

库URL填前面git clone后面的那个看起来像网址的东西。注意不能写错一个字。可以复制。(经检验,可以在最后加.git字样。注意不要把https写成了http。这是我说不能写错的原因。)

路径嘛…你爱填哪就填哪。

别忘了开网络。

等到下载完成后,就改改改。

等会,又忘了切换分支了。

文件,git,分支,创建分支,填新分支名。

印象中弄完还得文件,git,效验,改分支。然后改啊改。

For OL:

容易。直接点一个文档,正文内容右上角有个Raw Blame History,再右边有个笔,嗯然后不用我说了吧?

增加文件的话在branch:master后面的JYYZrubik什么后面有一个加号,嗯然后懂了吧?

将本地代码仓推至服务器

写完了,怎么保存上去呢?

For Windows:

再次打开Git Bash。

$ git add --all

这一个命令让git得以记录有哪些文件被更改了。

$ git commit -m "commit信息"

这里的信息可以随便填,不过它应该尽量简短并能说明你做出了哪些更改,比如Add something就是一个比较差劲的信息。可以去找一个教你更好地填commit信息的文章。

回车。。。咦怎么被拒绝回来了?还带一大段东西?

Please tell me who you are.

按照它的指引吧。

$ git config --global user.name "你的注册名"

$ git config --global user.email "你的注册邮箱"

然后再执行commit,嗯这次没问题了。

以后就不需要再config了。

然后把它推(push)上去:

$ git push

等一会,它会做自己需要做的事情。当然你也可以强迫症地这样写push,可以避开那一大段啰啰嗦嗦的文字:

$ git push origin 分支名

两个,随便你选。

等一会,它会要求你输入用户名和密码。注意输入密码的时候它没反应。没关系,它是故意的,你只理睬你自己的输入然后回车即可。

然后就是它自己各种写。。。完成!

For Android:

嗯,还是AIDE。

文件,git,提交。

现在相当于git add。右上角的加号。或者删除更改(相当于白做功夫)。

当然是加号了,填commit信息确定。

文件,git,推。

记得开网络连接。然后等一会它要求你输入用户名,确认,密码,确认。Writing objecs,完成。

For OL:

写完填commit信息后确认就OK了。

最后还必须合并。回到网页,分支改master,有没有一个黄色长条里面的绿色按钮?有的话最好。点它,然后接连有几个画面,都选第一个绿色按钮,最后一次绿色按钮点了之后又会出现一次确认,直到两个绿色按钮变成一个,修改完毕!

如果最初没看到黄色长条,那么切换到你的分支,找到Pull Request在branch下面一行的右边。点击Pull request,然后又是绿色开道。

将服务器代码仓拉至本地

他也更新了,我也更新了,我想得到他的更新,他也希望得到我的更新,怎么办呢?

先去到网页,在branch那里切换到自己的分支,开Pull Request。

发现没什么可以比较的,那就switch base。

看到上面那个绿色的Create Pull Request了吗?

然后在Title那里随便写一个,比如"Merge into master-for-93 from master",有写标题就可以Merge了。

接下来的场景你们已经很熟悉了。

完了之后(你应该可以看到左上角有个紫色的Merged,下面一个绿色按钮不需要管它),在自己的本地代码仓,Git bash。

$ git pull

等待pull完成后,你的代码仓就和网页上的一样啦。

杂七杂八

  1. 作为一个有强迫症的人,我要求(同时也是每个W3C人的要求,因为现在有大量糟糕的网页)我们的每个页面都必须通过W3C验证器的验证。
  2. 我们的网站必须符合"语义"的要求。它虽然有点晦涩,但是在以后的维护中会有非常大的作用。关于语义的要求,请阅读上面的教学网站里的相关文章。
  3. 为了i18n(internationalization这单词真他喵太长所以取首末字母并且中间省略了18个字母)的要求所以所有文件都必须保存为UTF-8格式。
  4. 不要使用Windows内置的记事本(notepad.exe)。它的UTF-8带BOM,而我们不要它。所以请使用诸如sublime text之类的可选编码的编辑器。