Yoharol
by Yoharol

Categories

  • blog

Tags

  • note

github基础操作的备忘录。

Table of Contents

  1. Git使用指南
    1. 创建用户
    2. 创建repository
  2. Github上传
    1. SSH key
    2. 简写设置alias
    3. default config
    4. diff
  3. 提交repository
  4. Blog创建
    1. 初步设置 Hello world!
    2. jekyll安装
    3. 主题下载
    4. 本地调试

Git使用指南

创建用户

git config --global user.email flameyeelf@gmail.com
git config --global user.name LunaElfGaming

在单独的repository目录下去掉–global,就是局部设定

创建repository

先来到想要创建repository的根目录,执行创建和新建文件

mkdir test
cd test
touch a.md

然后初始化,查看目录

git init
git status
   #On branch master
   #nothing to commit, working directory clean

git status是快速查看repository状态的命令,频繁使用. touch,mkdir分别创建目录和文件,而文件的复制,移动和删除分别为cp,mv,rm

在创建文件之后,我们需要把文件加入repository中来

git add a.md
#git rm --cached
git commit -m 'first commit'
git log

add可以将文件加入repository中,但命令会暂存在”Changes to be committe d”列表中,通过commit -m来提交,-m表示提交信息 此时输入git log,可以看到commit历史

git tag alpha0.1
git tag
#-> alpha0.1
git chackout alpha0.1

通过git tag来为当前版本添加标签,并且可以在不同版本之间跳跃.

Github上传

SSH key

SSH是计算机之间加密登录的网络协议,向Github提交首先需要SSH key获得授权.

ssh-keygen -t rsa
# RET three times
cd ~/.ssh
cat id_rsa.pub

指定rsa算法来生成密钥,在~/.ssh目录下分别生成密钥idrsa和公钥idrsa.pub

在Github的个人Settings页面,选择SSH and GPG keys,New SSH key,将idrsa.pub中的内容复制,即添加了新的公钥. 测试:

ssh -T git@github.com

简写设置alias

简写设置能够自定义快捷输入,类似emacs的company mode. 简写不仅能设置快捷补全单词,还能快捷补全命令组合

git config --global alias.psom "push origin master"
git config --global alias.plom "pull origin master"
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

注意,在命令输入是不需要TAB补全的,比如查看日志,直接git lg RET就好了.

default config

一些杂七杂八的配置

git config --global core.editor "emacs"
git config --global color.ui true
git config --global core.quotepath false
git config -l

将默认的模拟器配置为emacs,将git命令加入颜色ui,显示中文名称文件.

diff

diff可以用来查看具体做了哪些改动

git diff

diff还可以指定查看不同版本之间的差异,暂时不详细了解.

提交repository

先在github创建好repository,然后就可以进行克隆,将repository克隆到自己的本地

git clone git@github.com:address

克隆的源地址可以在网页repository栏clone选项中找到,而本地的相关操作参见git的部分. 完成本地的修改和commit后,就可以进行push

git push origin master
#git pull origin master

push将代码推到远程master分支,pull则是将远程最近更新的代码同步到本地.先pull再push可以防止冲突.

而直接上传本地的repository,可以进行如下的操作:

git remote add origin git@github.com:LunaElfGaming/NewRep.git
git remote -v
git push origin master

origin是github默认的远程仓库名称,通过remote可以查看当前有哪些远程仓库

Blog创建

初步设置 Hello world!

新建repository,命名为LunaElfGaming.github.io,此后这一名称将做为个人blog的域名 接下来通过git对这个项目进行编辑:

git clone https://github.com/LunaElfGaming/LunaElfGaming.github.io
cd LunaElfGaming.github.io
echo "Hello World!" > index.html
#clone项目后,在个人主页index.html加入的文本hello world
git add --all
git commit -m "Initial Commit"
git push -u origin master

完成以上操作,可以在个人主页看到Hello World的字样,尽管网页依然一篇空白.

接下来对仓库内容进行初始化,使用Jekyll做为博客的技术载体,初始化如下内容:

mkdir _includes
mkdir _layouts
mkdir _posts
touch .gitignore
touch _config.yml
git add --all

将如下改动push,在网页验收.注意,空文件夹是不会被上传的

_layout文件夹下创建格式文件,index.html修改主页,在folk现成的theme后,针对对应文件进行修改.

jekyll安装

jekyll是基于ruby的开发,先在系统中安装ruby

sudo apt-get install ruby
ruby -v

以后可以在shell中直接通过ruby命令来晚R语言,输入quit退出.非常好玩的语言,目前也排在编程语言学习日程中. 在系统中安装了gem的情况下,可以直接安装jekyll了:

gem install jekyll

jekyll的模板文件保存在layout文件夹中,使用html语言和Liquid语言编写.

Transform your plain text into static websites and blogs.

主题下载

jekyll可以直接在网站上下载到相应的主题,folk或直接替换自己的本地文件后执行 git add . 等操作即可. 相应的模板修改见于主题自带的修改教程,一般在config.yml中修改参数.

本地调试

由于github每一次上传都相当于版本改动,步骤比较繁琐,而博客出现bug时需要反复调试,此时选择本地调试可以减少不少麻烦. 运行如下shell命令,安装本地调试环境:

bundle install
bundle update

在安装完成后,依然可以执行update进行更新. 如果有未安装的安装包,终端会自动提示.

接下来,cd到对应jekyll网页的根目录下,开启本地服务:

bundle exec jekyll serve

终端会自动给出本地服务器的地址,默认为http://localhost:4000. 注意不要再emacs内部shell终端开启服务器,因为服务器需要快捷键 C-c 来停止,这和emacs本身的快捷键是冲突的.