layout: post title: 手把手教你用git发布blog author: snowy categories: Howto tags: gdg howto snowy


是的社区的 blog 文章很早就改进为基于 .md 的静态发布了, 但是,具体怎么折腾的呢?

由我们的小言现学现卖给大家伙儿 ;-)

背景

如果用过 Wordpress 之类 CMS 系统为基础的 blog 环境,就知道, 一个 blog 网站不是那么简单的,至少包含以下关键性功能:

而这所有的功能,又都要围绕一个数据库来折腾, 所以,传统的 blog 系统,至少要包含:

三大部分都要进行分别的安装/配置/测试/运维...

而且,即使 Wordpress 专注开发了10多年, 其在线文章编辑器,依然那么的难以使用...

所以,一切,在 Markdown 出现后终于进化了!

概述

现在 珠海GDG 的官方Blog ,是无网站全静态发布!

即,现在 blog 文章的撰写/修订/发布/管理,只需要:

其它一切都自动化完成了!

参考:

过程

以下以 小言 多方尝试后的最终成果来罗列

初始化

在本地建立基于 pages 服务的静态化blog 文章维护环境,是一次的,建立好后, 以后就再也不用折腾的了.

  1. 安装git

sudo apt-get install git

  1. 注册 gitcafe 进入 zhgdg/zhgdg - GitCafe

点击右上角的"派生", 生成自己专用的社区文章仓库分支.

  1. 初始化本地仓库

```

进入合适的本地目录

$ cd ~/blog

克隆自己的文章分支仓库

$ git clone https://gitcafe.com/你的帐号名/zhgdg.git

...

```

  1. 进入pages 专用分支:

进入目录:

cd zhgdg

```

察阅当前分支

$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/gitcafe-pages remotes/origin/master

切换pages 分支

$ git checkout gitcafe-pages Branch gitcafe-pages set up to track remote branch gitcafe-pages from origin. Switched to a new branch 'gitcafe-pages'

检查当前状态

$ git branch -a * gitcafe-pages master remotes/origin/HEAD -> origin/master remotes/origin/gitcafe-pages remotes/origin/master

也可以用 status 命令

$ git status On branch gitcafe-pages Your branch is up-to-date with 'origin/gitcafe-pages'. ...

```

  1. 配置提交口令

修订本地仓库的配置文件,可以通过 https 协议,自动输入用户/口令,来提交修订

``` ... [remote "origin"] #url = git@gitcafe.com:你的帐号名/zhgdg.git #将这一行替换为 url = https://你的帐号:你的口令@gitcafe.com/你的帐号名/zhgdg.git fetch = +refs/heads/:refs/remotes/origin/ ...

```

SSH 支持

ssh-keygen -C "your email" -f ~/.ssh/github

输入以上指令后,会出现一段内容.

其中

``` ... Your public key has been saved in /home/用户名/.ssh/github.pub | +-- 即新公钥所存放的位置

... ```

查阅公钥: ```

进入目录

$ cd /home/用户名/.ssh/

打印公匙

cat github.pub ... ``` cat之后出现的那一大段字符就是你的SSH公钥了

以便使用 SSH 协议进行加密无口令提交!

这样就不用将真实的用户和口令,暴露在本地配置文本中了

撰写

以下只是文章撰写前后要进行的工作, 而具体文章撰写的要求,参考专门的说明: 珠海GDG 社区文章 撰写指南

只是注意,每次编辑完要及时:

```

查阅当前仓库状态

$ git status

追加新增文件

$ git add .

提交文件修订

$ git commit -am "提交注释..."

```

注:可用"git log"查看提交日志

发布

在不同角色背景下, 文章的发布是有不同管理流程的.

frok-pull request 流程

这是 git 首创的社区协同流程,可以最大限制的接受最广泛的贡献.

但是,涉及 git 的多种操作建议认真参考:

我们的社区文章仓库也一样,和当前 小言 自个儿的私人分支仓库的关系, 决定了,小言的文章想最终发布到官方网站 http://blog.zhgdg.org/

得经过以下步骤:

  1. 礼貌的同步官方仓库,整理好自个儿的提交
  2. 提交整理好的 修订
  3. 发起 pull request
  4. 等候管理员合并 pull request
礼貌整理

简单的说,就是将自个儿多次修订,压平为一次提交,并解决可能的冲突

  1. 追加上游仓库(一次性的)

``` $ git remote add upstream https://gitcafe.com/zhgdg/zhgdg.git

检查状态

$ git remote -v

```

  1. 获得上游更新

$ git fetch upstream

  1. 尝试合并上游更新

``` $ git rebase upstream/gitcafe-pages

如果有冲突,根据提示完成修订

```

提交修订

提交合并后的成果 ,是标准的 git 推送操作

``` $ git push -f

```

发起PR

进入自个儿的仓库界面,点击右上角的"合并请求"/"pull request".

进入以下界面后填写相关内容,点击"发送合并请求"

140825-gitcafe.jpg(JPEG 图像,750x423 像素)

完成合并

管理员将在主仓库的 合并请求 列表中看到新的 PR 点击 接受请求 就可以在服务端完成合并,以及 Jekyll 编译和发布了.

主仓库流程

是的,如果小伙伴们长期向社区提交文章的 pull request ,当然的会赢得大妈们的信任, 就可以列为仓库成员,直接对 zhgdg/zhgdg - GitCafe 进行操作了,

嘦在本地重新检出一下 zhgdg/zhgdg - GitCafe 而不用自个儿 分支出来的那个私人仓库, 那么发布文章就一步:

$ git push

所以,坚持贡献,最后总是能获得更多的信任,以及更加快捷的分享渠道 ;-)

总结

整体上:

`` [一次性] + gitcafe reg. | + frok zhgdg | + git clone U-FROK/zhgdg.git | \ | +- 修订配置,使用https 协议+明文口令 | or | +- ssh-keygen 生成本地密匙对,部署 SSH 公钥在 gitcafe | 使用 git 协议,用 SSH 认证,进行无口令提交 | + git checkout gitcafe-pages | [日常的] +- git add . 追加新文件 +- git commit -am ".."提交变更 |\ (有主仓库权限) | +- git push 直接推送修订即可 | | (没有主仓库权限, 以 pull request 流程发布) +- git remote add upstream https://gitcafe.com/zhgdg/zhgdg.git | +- git fetch upstream | +- git rebase upstream/gitcafe-pages |- git push 推送整理后的修订 到gitcafe 界面,发起 pull request,等待管理员接受,合并.

```

教训

在整个儿的探索/尝试过程中, 小言 也有一些的自然 Nive 理解,在此作为FAQ 提供给大家

Changelog



以上...


码不停提马上无虫 ;-)

|_|0|_|
|_|_|0|
|0|0|0|

加入 珠海GDG

  1. 注册 G+
  2. 关注 GDG Zhuhai
  3. 成为 GDG Zhuha开发者

通过 珠海GDG 可以:

    第一时间获知谷歌最新的技术,
    可以学到如何去谷歌平台上赚钱的思路和方法,
    可以认识很多有可能将来一起走上自己创业道路的人,
    可以学会把你的创新带向国际市场,
    参加那里的活动有经常和国际上的开发者们进行交流的机会...

PS:

若无意外,题图都是从原文提取或是通过 Google 图片搜索出来的, 版权属左, 不负责任 ;-)

PPS:

珠海GDG wechat/Blog 都是欢迎投稿的,只要追认内容吻合以下条件:

0. 有趣 ~ 至少是自个儿有兴趣的领域吧...
1. 有料 ~ 至少有点儿原创的东西吧..
2. 有种 ~ 至少不能是成功学吧!

有好物的,及时向大妈们吼: support@zhgdg.org

微信栏目

当前应该是:

    G术图书 (gb:推荐好书,书无中外)
    D码点评 (dd:麻辣评点,善意满盈)
    G说公论 (gt:时评杂文,新旧不拘)
    珠的自白(dm:大妈自述,每周一篇)
    海选文章(hd:得要相信,大妈法眼)

总之! 珠海的组委大妈们,决定开始坚持发文,方方面面细细同大家分享/交流

总之! 请大家告诉大家, 珠海生活中的技术社区 已经认真回归 微信,都来订阅吧!

订阅方法

GDG珠海 社区资源:


Author: Zoom.Quiet /mail / gittip / github