前言:
书到用时方恨少,技能要用时也恨少啊!前几天从老大那里认领了个任务,整理文章形成gitbook在线阅读版本,哇高级了!简直懵逼啊!
从完全没听说过github和gitbook到现在整理出一份在线文档,内心还是有点小骄傲呢,所以我来把流程炫耀一下哈~
同时,此文还适用于很想构建自己的知识体系,但是不知道怎么做;想要积累自己的知识,并且实现变现,但是不知道怎么做;听说或没听说过github、gitbook但不知道怎么玩想尝试的童鞋们哒
目的:
- 梳理自己整理文章的流程,方便自己复习与巩固。
- 帮助有缘人学习使用github、gitbook、markdown等工具
- 从工具层切入,帮助更多人开始构建自己的知识专题。
准备:
-
注册Github账户,地址:www.github.com
-
下载Github Desktop客户端,地址:desktop.github.com (如果无法下载的话,请使用离线下载地址: github离线安装包(windows)的下载地址: https://github-windows.s3.amazonaws.com/standalone/GitHubDesktop.exe)
-
准备一个Markdown编辑器,推荐:MarkdownPad(windows)、Ulysses(OS)、MarkEditor(通用)。(Markeditor的访问地址:http://zrey.com/app/markeditor?from=farbox)
-
准备一个知识主题,这个主题可以很小,可以是你的某个工作、一篇读书笔记都可以(用来跟着练手)
新建Repo
一、Github远程端新建仓库
Repo的全称是Repository,你可以理解为仓库。里面装满了各种代码、文件、知识等……
1、打开Github(www.github.com),并选择New Repository,建立一个新的仓库。

2、一共要填写四个部分,第一个是名称,请使用英文简写,第二个是描述,第三个是新建初始化说明文件(打勾),第四个是选择说明文件类型,下拉菜单中输入:gitbook,选择gitbook即可。

3、点击下面的绿色按钮:“create repository”,一个Repo就会构建完成。
二、建立本地的Repo
1、请下载Github Desktop,并安装登录。
2、安装完成后,请点击Github Desktop左上角的加号,并选择第三个选项:Clone

3、找到你刚才在第一步里面新建的那个Repo,选中后点击:clone Repository。
(这一步的目的就是将Github远程端的Repo同步到本地,类似于同步盘的概念)
4、点击clone之后,会弹出具体的文件夹地址,请大家自行找到保存的目录。
三、配置编辑器
1、下载安装编辑器,推荐两款:markeditor & ulysses
2、文件-打开文档-打开刚才保存的Repo目录
3、新建标配文件 :因为我们的知识要通过Gitbook进行解析,这里需要2个必备的文件。
-
README.md文件。这个文件用来说明这本书是干啥用的。在第一步建立Repo的时候,我们在第三小步的时候已经生成了README.md。这里就不用考虑了。
-
SUMMARY.md文件。这个文件是Gitbook用来生成目录的文件。这里只需要在ME中选择“+”文件命名为summary就好啦,内容即根据目录需要所填写。

四、生成知识专题
1.首先你需要打开Gitbook,地址:www.gitbook.com
2.选择Sign in,并且使用Github来sign in。这样可以保证Gitbook可以读取你的每个Repo
3.在Gitbook中选择 +New Book
4.选择Github同步的方式,点击,并在右侧输入相应的名称


5.完成后点击:Greate Book,等待20秒钟,你的书籍就构建完成了
协作写作
一、Fork仓库
当你需要同别人协作共同完成一本gitbook或者你想修改别人的gitbook时,找到相应的github地址,点击右上角的fork按钮。

此时你的账号下已经“复制了”一份gitbook,然后你就可以做修改了。
二、修改文件
修改有两种方法:可以直接在线修改,也可以先克隆到本机再修改,对于比较复杂的项目一般采取后者。
-
在线修改
- 直接在页面上点要修改的book的名字,进入详情页,再点击“Edit”。
- 在编辑页面编辑完后,滚动到页面底部,点击绿色的“Commit Changes”按钮确认提交。
-
本地修改
- 打开Github Desktop,克隆到本地
- 打开MarkEditor,找到保存的目录,打开
- 编辑并保存
- 此时在Github Desktop中,你会发现他在Changes出现了改变
- 填写summary(可以理解为修改的摘要),点击Commit(这里是提交到本地的hub中)
- 当出现以下页面时,点击右上角的Sync(将本地hub的修改同步到远程的hub中)

三、申请合并
在确认已经对自己Fork了的仓库修改成功后,你可以将提交合并申请,申请将你的版本合并入最初的项目中。
这一步依然有两种方法:
- 在线申请
- 在网页上打开你Fork的gitbook的页面,点击这个醒目的绿色按钮

+ 再点击“Create pull request”按钮,提交申请,完成后原文档创建者会收到通知
- 本地申请
- 修改完,在GithubDesktop点击Commit to master 和Sync同步后,点击“pull request”

- 当出现以下图标表示提交申请完成。

三、合并申请
当共同编辑同一处文档时,会出现冲突,所以需要先处理完冲突后再合并分支。
- 打开github.com,会收到提交申请
- 点击resolve conflicts处理冲突

- 红色的标记表明出现冲突的地方,删除错误的不需要的文字和红色的标记即可。

- 点击Mark as resolve保存

- Commit changes提交修改

- 冲突解决了,点击Merge pull request合并请求就好啦

感谢
- 感谢永澄老师教授的这个技能包,还有永澄老师布置任务的契机,如果不是上手做任务,我可能不会研究github这么久,也不会发现这么个新天地~
- 感谢光光在我卡壳的时候给我发资源,给我耐心指导,么么哒~
- 感谢晶磊师父的远程、语音讲解与指导解决矛盾与合并分支等问题,哎~程序猿的世界好奇妙~
附:相关资源
最后
一个技术白痴写的东西,目前也就理解到这个程度,肯定有很多不对的地方,欢迎指正!大家一起交流学习~
网友评论