0%

gitbook | 上传到 github

如何将自己的电子书上传到 github.


GitHub 中建立对应仓库


假设我在 github 中创建了一个仓库,叫做 blockchain


电子书上传


假设我的 gitbook 项目叫做 blockchain

此时,我已经使用

gitbook init

进行了生成,然后,我是用

git init
git remote add origin git@hexo.com:benpaodewoniu/blockchain.git

master 分支用于存放源代码。

git add .
git commit -m 'update'
git push -u origin master

然后我们创建一个分支,叫做 gh-pages

  • 必须是 gh-pages 有了这个分支,Github会自动为你分配一个网址。
  • master 分支用于放源码,gh-pages 用于放产生的页面

git branch gh-pages 「我的 git 比较新,有的人需要使用 `checkout`」
git switch gh-pages
rm -rf *
git add .
git commit -m 'update'
git push origin gh-pages

上面的那些步骤主要是给远程仓库建立 gh-pages 分支,也可以不用这么做,直接在另一个文件夹中 clone 一下,然后把内容删除后,把 _book 的内容移动过来。

我们找一个其他的目录,比如我是

~/bookweb

然后,我进入这个目录,执行

git clone -b gh-pages git@hexo.com:benpaodewoniu/blockchain.git blockchain

就可以看到下面的出现了一个目录 blockchain

然后返回 blockchain 的源码。执行

gitbook build

会看到生成一个叫做 _book 的文件夹,里面存放着生成出来的文件,诸如 html 等。

然后,我们将生成出来的东西,放到 ~/bookweb/blockchain 里面。

也就是

mv ./_book/*  ~/bookweb/blockchain
    需要注意的是,是 _book 的内容放到 文件夹中,而不是 _book 放到文件夹

值得注意的是,在 mv 之前要把原来的内容删除,但是不能把 .git 给删了。

rm -rf `ls`
    使用该命令删除

然后,进入 ~/bookweb/blockchain 将内容上传到 githubgh-pages 分支中。

进入 githubblockchain 项目。找到 setting

使用 gh-pages 作为项目的主页。


注意点


注意点一

很多人都觉得我上面为啥要 mv,而不是直接在 ~/bookweb/blockchain 中生成,比如

gitbook build ./ ~/bookweb/blockchian

我尝试过这样,但是,生成的时候失败了,也不知道是咋回事。

注意点二

master 分支的那个目录下生成 .gitignore 文件。

忽略_book 下的静态网页文件

请我喝杯咖啡吧~