锚标签 C-c C-a

C-c C-a l 超链接
C-c C-a r 参考链接 text 参考链接放到文件最后 [label]: markdown.html
C-c C-a w wiki链接 [[wikilink]]

常用命令 C-c C-c

C-c C-c m 在另一个Buffer显示输出
C-c C-c p 在浏览器中预览输出
C-c C-c e 输出html文件到相同前缀的.html文件 eg:basename.html
C-c C-c v 输出并且在浏览器中查看
C-c C-c c 检查是否有未定义的链接

插入图片 C-c C-i

C-c C-i i 插入一张图片

物理样式 C-c C-p

C-c C-p b 将选中的文字加粗 bold bold 如果为选中则插入 **
C-c C-p f 将选中的文字设置成等宽字体 fixed width text
C-c C-p i 将选中的文字设置成斜体 italic
italic

逻辑样式 C-c C-s

C-c C-s b 设置引用 > backquoted
C-c C-s p 预格式,在之前插入4个空格默认 <pre>pre text</pre>
C-c C-s c 插入代码块 code here
C-c C-s e 强调 emphasis emphasis
C-c C-s s 加强 strong strong

标题章节 C-c C-t

C-c C-t n 插入标题 1-6
C-c C-t t 插入一个title
C-c C-t s 插入一个section
C-c - 插入一条分割线


导航

TAB 折叠或者展开标题
C-M-n & C-M-p 在上下可见的标题中前后移动
C-M-f & C-M-b 在同一级的标题中前后移动
C-M-u 回到上一级标题

参考

Emacs Markdown Mode

使用微博秀直接生成对应的代码,然后写到custom/asides/weibo.html中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<section>
<h1>新浪微博</h1>
<ul id="weibo">
<li>
<iframe width="100%" height="550" class="share_self"  frameborder="0" scrolling="no"
src="http://widget.weibo.com/weiboshow/index.php?
language=&
width=0&
height=550&
fansRow=2&
ptype=1&
speed=0&
skin=5&
isTitle=1&
noborder=1&
isWeibo=1&
isFans=0&
uid=1905507693&
verifier=e659651a&
dpc=1"></iframe>
</li>
</ul>
</section>

然后在_config.yml中添加default_asides中:

    custom/asides/weibo.html

参考:http://programus.github.com/blog/2012/03/03/add-weibo-sidebar-into-octopress/


我只记录一些我的常用命令,一些不常用的即使写了过一段时间也会忘掉的。实在要用直接help一下就行。


~/.gitconfig


[color]
        status = true
        branch = auto
        diff = auto
        ui = auto

[alias]
        st = status
        co = checkout
        ci = commit -a
        l = log --graph

[user]
        name = username
        email = youremail

常用命令

git log --all
git log只会显示HEAD及其祖先的log,要产看全部使用–all


git stash
非常有用的命令,把当前work目录做临时保存,并revert到HEAD。
使用git stash apply进行恢复。


回滚代码
git revert HEAD


你也可以revert更早的commit,例如:
git revert HEAD^


销毁自己的修改
git reset --hard


远程仓库相关命令

检出仓库:$ git clone git://github.com/jquery/jquery.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url –push [name] [newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]


如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,如下:
$ git push origin test:master // 提交本地test分支作为远程的master分支
$ git push origin test:test // 提交本地test分支作为远程的test分支


分支(branch)操作相关命令

查看本地分支:$ git branch
查看远程分支:$ git branch -r (如果还是看不到就先 git fetch origin 先)
创建本地分支:$ git branch [name] -—注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
直接检出远程分支:$ git checkout -b [name] [remoteName] (如:git checkout -b myNewBranch origin/dragon)
删除分支:$ git branch -d [name] -— -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge [name] -—将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name] 或 $ git push origin :[name]


版本(tag)操作相关命令

查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [tagname]
删除远程版本:$ git push origin :refs/tags/[name]
合并远程仓库的tag到本地:$ git pull origin –tags
上传本地tag到远程仓库:$ git push origin –tags
创建带注释的tag:$ git tag -a [name] -m ‘yourMessage’


rebase

git-rebase命令主要用在从上游分支获取最新commit信息,并有机的将当前分支和上游分支进行合并。
假设master和develop是一个项目的两个分支,其中master是主分支,
develop是从master而来的开发分支,如果在develop分支上提交过2次,
之后又切换到master分支,做了一些修改并提交2次,
这时,如果想将master分支的最新修改内容合并到develop分支,但同时也不能影响master分支时,
就需要使用git rebase了,这时的上游分支为master。



执行git rebase master前:
              develop: 1 --> develop: 2
            /
master: 0 --> master: 1 --> master: 2

执行git rebase master后:
                                    develop: 1 --> develop: 2
                                   /
master: 0 --> master: 1 --> master: 2

blame

如果找到某个版本出现了问题,而之前的版本没问题,我们可以用git blame找出文件是何时被何人怎么修改的。
git blame [-L 行号1, 行号2] file


打包文件archive

git archive –format=zip -o arch.zip HEAD


bisect

如果我们发现有个问题在某些版本没问题,而在有些版本有问题时,我们可以借助git bisect来帮助我们定位问题。


git bisect start 
git bisect good commit-id1 
git bisect bad commit-id2 
这时,git会按照二分法找出good版本和bad版本中间的那个提交版本,并自动将工作状态切换到那个版本,
这时我们可以验证这个版本是不是有问题,如果有问题,通过
git bisect bad
告诉git,这时git会继续找出一个中间版本让我们来验证,直到我们找出,并告知git
git bisect good


这样一步一步我们就可以找出引入问题的版本,最后,我们可以使用
git bisect reset
结束查找,git会删除查找过程中在仓库中生成的临时文件,并将状态恢复到。


git fetch,pull区别?

git pull 就是git fetch 然后 git merge
git fetch 从另一个repository中下载objects and refs
You can do a “git fetch” at any time to update your local copy of a remote branch.
This operation never changes any of your own branches and is safe to do without changing your working copy.


git的requet-pull作用?


git cherry-pick

Apply the changes introduced by some existing commits
就是对已经存在的commit 进行apply (可以理解为再次提交)


git submodule

用于包含其他库,比如一个项目包含了一个开源的mp3解码库。

参考:octopress-tagcloud

  • 下载并copy到对应目录

     ├─ plugins/
     │  └── tag_cloud.rb
     └─ source/
        └─ _includes/
           └─ custom/
              └─ asides/
                 ├─ category_list.html
                 └─ tag_cloud.html
    
  • 在_config.yml中的default_asides中添加

      custom/asides/category_list.html
      custom/asides/tag_cloud.html
    

如果更换机子或者重新安装系统后,要重新获得octopress非常简单。

1.安装ruby就不说了,我喜欢用rben安装。

2.clone已存在的库,需要上传ssh key

git clone git@github.com:username/username.github.com.git octopress

3.切换到souce分支
查看远程的所有分支。

  git branch -r

切换分支

  git checkout origin source

4.提交代码

git push origin source

[转自]http://wowubuntu.com/markdown/

区块元素

段落和换行

一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。普通段落不该用空格或制表符来缩进。

「由一个或多个连续的文本行组成」这句话其实暗示了 Markdown 允许段落内的强迫换行(插入换行符),这个特性和其他大部分的 text-to-HTML 格式不一样(包括 Movable Type 的「Convert Line Breaks」选项),其它的格式会把每个换行符都转成 <br /> 标签。

如果你确实想要依赖 Markdown 来插入 <br /> 标签的话,在插入处先按入两个以上的空格然后回车。

随便先写一点东西,markdown语法还不熟悉

发现的问题

  1. 即使本地加载也特别慢
    原来是要去加载google的font,可能又要翻墙,所以特别慢。
    注释掉:source/_include/custom/head.html中注释掉fonts.googleapis.com的link


昨天下午在公司,使用LFS qemu,重新编译了一遍内核,然后验证ksplice功能。
非常顺利的完成了热补丁。
简直太神奇了。


前天之所以没有成功,主要是lfs当时跑的内核和运新ksplice编译的内核可能不一样。
所以导致ksplice内核模块总是报错。


当时最困扰的地是脚本中
modporbe ksplice
但是并没有编译出ksplice的内核模块啊。
我还以为是他脚本写错了。


后来发现其实编译成standalone模式是不需要加载ksplice模块的。
根本原因还是运行的内核和当前的内核不匹配。