Github

参考资料 GitHub入门与实践

github 创建个人主页

每个用户下只能有一个 [username].github.io 的仓库

发布在该仓库的 master 分支的内容即个人静态网页, 可通过 [username].github.io 访问。我们可创建 source 分支保存我们网站的原始文件,这样本地数据丢失时还能找回。

常见做博客框架有 Jekyll 、 Octopress 、Hexo。其中 Octopress 是基于 Jekyll 的,我本科时候使用过 Octopress,现在使用 Hexo ,Hexo 相对前两个生成速度快。如果使用 Jekyll 有个最大的好处就是每个仓库的 Wiki 页面就是通过它来生成的,这样搞定一个就通用了。

具体三种框架的本地配置网上教程很多。


创建仓库

首先先上网站点击新建一个仓库,例如我要新建一个名为“test”的仓库,输入仓库名字,点击创建即可创建,然后就进入快速设置引导界面。如果你选择了 Initialize this repository with a READMEAdd .gitignoreAdd a license,则会在仓库中生成相应的 README 、.gitignore 、 LICENSE 文件,跳过快速指导页面直接进入项目。如果选了以上,第一次上传之前还需要 pull 一下。

创建项目之后会进入一个快速设置指导页面。上面提示 HTTPS、SSH 两种方式可以上传、下载。如下所示。

# HTTPS
https://github.com/wuhongyi/test.git
# SSH
git@github.com:wuhongyi/test.git

如果说本地本人使用两个没什么差别,SSH 可能还方便点。但是如果远程电脑或者公共服务器账户上还是HTTPS好,远程SSH输入密码框无法显示,意味着没法上传。SSH可以配置免密上传,公共服务器上还会泄漏账户信息或者被人误操作。综合以上我都改用HTTPS方式上传。

本地对应仓库的创建:

终端指向该文件夹执行以下命令初始化仓库(每个仓库只需要一次)

#初始化 该目录下将生成. git 文件夹
git init
#设置远程仓库地址 第一个为 HTTPS 第二个为 SSH,两个选一个即可。
#设置完之后该信息将被写入到 .git/config 文件中,可修改该文件切换上传方式
git remote add origin https://github.com/wuhongyi/test.git
git remote add origin git@github.com:wuhongyi/test.git

仓库内容的修改和发布:

git add [XXX]    #添加文件到暂存区
git commit -m "commit message"    #提交修改
git push -u origin master    #上传到网站

项目下创建文件 .gitignore 在里面添加需要忽略的文件夹及文件

/projectNCURSES/build/
/projectROOT/build/
/SimulationPMT/build/
/projectG4/build/
/projectWU/build/
/projectWU/bin/
/projectG4MT/build/
/projectG4MTNeutron/build/
/projectG4MTPhoton/build/
/GammaSpectroscopy/build/
/GammaSpectroscopy/source/build/
/projectG4Visualization/build/
*.root
*.m4b
*.mca
*.spe
/G4_lib/
/lib/
Authorize/Log/

其中目录以 “/” 开头的位绝对路径,如前几个。不以 “/” 开头的将会忽略整个仓库中该名字的文件夹,例如最后一个。文件也同理,不指定目录将忽略所有匹配的文件。

仓库的Wiki

每个仓库的对应 Wiki 我还没使用过,所以不清楚怎么制作。

应该在该项目创建一个 doc 文件夹

github 到 gitbook 电子书发布

GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。

GitBook支持输出多种文档格式:

  • 静态站点:GitBook默认输出该种格式,生成的静态站点可直接托管搭载Github Pages服务上;

  • PDF:需要安装gitbook-pdf依赖;

  • eBook:需要安装ebook-convert;

  • 单HTML网页:支持将内容输出为单页的HTML,不过一般用在将电子书格式转换为PDF或eBook的中间过程;

  • JSON:一般用于电子书的调试或元数据提取。

我的示范:

https://wuhongyi.gitbooks.io/

我将逐渐把笔记转成该形式