一、配置Github环境
安装Git
配置ssh-key
- 检查ssh-key的设置
# 第一次安装时没有该目录
$ cd ~/.ssh
- 生成新ssh-key
# rsa算法,C后面接邮箱账号;表示根据邮箱生成key
$ ssh-keygen -t rsa -C "[email protected]"
- 添加ssh-key到Github
登陆Github-->Account Settings--->SSH Public keys ---> add another public keys
- 测试
$ ssh -T [email protected]
- 设置用户信息
## 当电脑只需用到一个Github账号时,可以使用全局的用户信息
$ git config --global user.name "name"//用户名
$ git config --global user.email "[email protected]"//邮箱
二、当电脑需要多个Github账号切换时
- 配置第二个账号的ssh-key
$ssh-keygen -t rsa -C "[email protected]"
$ssh-add ~/.ssh/id_rsa_second
- 配置ssh-key到github
- 修改~/.ssh/config文件
#默认的github
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
#第二个github
Host github_second
HostName github.com
IdentityFile ~/.ssh/id_rsa_second
- 使用别名pull/push代码
git clone git@github_second:username/reponame
- 取消global用户信息
git config --global --unset user.name
git config --global --unset user.email
- 每次commit前都要执行下面代码
git config user.email "[email protected]"
git config user.name "name"
三、生成.github.io博客
- 登录github,创建一个repository,命名为
.github.io - 进入项目,点击Settings,在Github Pages部分点击Launch automatic page generator,下一步,下一步就可以了。
- 通过http://
.github.io访问你的静态站点
四、使用git提交更新
Tip:当对git命令不熟悉时,可以通过
$git xxx --help
查看帮助文档,注意xxx代表不熟悉的命令,比如clone。也可以查看廖雪峰的Git教程和Git官网学习。
- 克隆远程仓库
# 电脑中只有一个github账号时
git clone https://github.com/username/reponame
# 电脑中有两个个github账号时,github_second表示第二个账号的host
git clone git@github_second:username/reponame
- 移除所有文件
# 进入仓库文件夹(工作区)
$cd reponame
# 强制移除所有文件
$git rm -rf .
- 添加更新到仓库暂存区中
可以复制要添加的文件到仓库文件夹(工作区)中,然后执行命令
$git add *
- 提交更新到本地仓库
$git commit -a -m "注释"
- 提交更新到远程服务器
# origin表示源仓库
$git push origin master
五、分支管理
新建分支
# 切换到分支newbranch,-b表示没有就创建(branch/build)
$git checkout -b newbranch
# 创建文件hello
$touch hello
# 添加到暂存区
$git add hello
# 提交到本地仓库
$git commit -m "add a file hello"
# 提交到远程仓库的newbranch分支,-u表示set-upstream
$git push -u origin newbranch
设置默认分支
在项目的Settings-->Branches下可以修改Default branch
修改默认分支,其实就是把版本库的头指针HEAD
指向了其他分支,通过$git branch -r
(r表示remotes)可以查看所有远程分支和默认分支。
合并分支
$git merge newbranch
切换分支
# 切换到master分支工作
$git checkout master
删除分支
Git在删除分支时为避免数据丢失,默认禁止删除尚未合并的分支。所以,如果分支尚未合并,使用$git branch -d newbranch
会报错。
使用$git branch -D newbranch
可以强制删除分支。
删除远程分支
$git push origin --delete testbranch
六、使用github协同开发
开发者fork源仓库
每个开发者都从源仓库中Fork代码,然后独立开发。完了,在pull request合并到源仓库中。
把开发者仓库clone到本地
# 电脑中只有一个github账号时
git clone https://github.com/username/reponame
# 电脑中有两个个github账号时,github_second表示第二个账号的host
git clone git@github_second:username/reponame
构建功能分支进行开发
>>> git checkout develop
# 切换到`develop`分支
>>> git checkout -b feature-discuss
# 分出一个功能性分支
>> touch discuss.js
# 假装discuss.js就是我们要开发的功能
>> git add .
>> git commit -m 'finish discuss feature'
# 提交更改
>>> git checkout develop
# 回到develop分支
>>> git merge --no-ff feature-discuss
# 把做好的功能合并到develop中
>>> git branch -d feature-discuss
# 删除功能性分支
>>> git push origin develop
# 把develop提交到自己的远程仓库中
pull request
点击绿色按钮pull request,将自己仓库的分支合并到源分支中
管理员测试、合并
- review代码
>> git checkout develop
# 进入他本地的develop分支
>> git checkout -b khhhshhh-develop
# 从develop分支中分出一个叫khhhshhh-develop的测试分支测试我的代码
>> git pull https://github.com/khhhshhh/practice.git develop
# 把我的代码pull到测试分支中,进行测试
- 合并分支
>> git checkout develop
>> git merge --no-ff khhhshhh-develop
>> git push origin develop
七、安装和配置Hexo
需要环境
- Node.js
- Git
安装
npm install hexo-cli -g
npm install hexo --save
#如果命令无法运行,可以尝试更换taobao的npm源
npm install -g cnpm --registry=https://registry.npm.taobao.org
基本配置
#Hexo 将会在指定文件夹中新建所需要的文件。
$ hexo init
$ cd
$ npm install
# 安装Hexo插件
npm install hexo-generator-index --save
npm install hexo-generator-archive --save
npm install hexo-generator-category --save
npm install hexo-generator-tag --save
npm install hexo-server --save
npm install hexo-deployer-git --save
npm install hexo-deployer-heroku --save
npm install hexo-deployer-rsync --save
npm install hexo-deployer-openshift --save
npm install [email protected] --save
npm install [email protected] --save
npm install hexo-generator-feed@1 --save
npm install hexo-generator-sitemap@1 --save
# 在本地查看效果
$hexo server
主题配置
- 修改根目录的_config.yml
# Hexo Configuration
## Docs: http://hexo.io/docs/configuration.html
## Source: https://github.com/tommy351/hexo/
# Site #整站的基本信息
title: IT协会 #网站标题
subtitle: 学习 总结 分享 #网站副标题
description: 学习 总结 分享 #网站描述
author: itxiehui#网站作者
email: [email protected] #联系邮箱
language: zh-CN
# URL
## If your site is put in a subdirectory
url: http://itxiehui.github.io #你的域名
root: /
permalink: :year/:month/:day/:title/
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
......
# Pagination
## Set per_page to 0 to disable pagination
per_page: 10 #每页10篇文章
pagination_dir: page
# Disqus #社会化评论disqus
disqus_shortname:
# Extensions
## Plugins: https://github.com/tommy351/hexo/wiki/Plugins
## Themes: https://github.com/tommy351/hexo/wiki/Themes
theme: jacman #修改主题
exclude_generator:
Plugins:
- hexo-generator-feed
- hexo-generator-sitemap
......
# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy: # 部署位置
type: github
repository: https://github.com/cnfeat/cnfeat.github.io.git
branch: master
写作
使用hexo new "newpost"创建一个新文件,然后使用hexo d -g生成并部署到github上。注意在_config.yml中配置的deploy的repository要看是否电脑有多个github账号。
#常用命令
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub
#简写
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy