批量修改git中已提交Commit中的Author和Email

实际项目中,因为项目成员有时候会换电脑,所以git的author以及email信息不一定保持一致,结果导致在提交记录中同一个人会有不同的名字……简直不能忍啊……

找了一下,这个方法看上去是靠谱的

#!/bin/sh

git filter-branch --env-filter '

an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"

if [ "$GIT_COMMITTER_EMAIL" = "[email protected]" ]
then
    cn="Your New Committer Name"
    cm="Your New Committer Email"
fi
if [ "$GIT_AUTHOR_EMAIL" = "[email protected]" ]
then
    an="Your New Author Name"
    am="Your New Author Email"
fi

export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
'

跑起来,慢是慢了点……0.5s一个commit吧,当前项目1000多个commits是要跑一段时间的,不过确实有效~
干干净净真开心!强迫型人格障碍患者福利~


啊啊 被坑了啊!!!

进行这样的操作以后,之前所有的Commit都变成双份了,hash值都不一样,我不清楚是我操作的问题还是什么问题……反正这种方案暂且存疑T T

 

状态

不想立刻看日语,打开网页却发现没什么美剧看了,扭头发现手边的《编译原理》虎书,正准备看翻看,立刻后悔觉得还是看看日语有意思,反正半小时就搞定,然后还有虎书可以看真幸福。哈哈,原来不同的爱好之间还是有更加好玩之分的嘛~~

Nginx

发生了什么


这个博客现在是通过我的VPS上Nginx反向代理访问的,等于自带翻墙+加速。
本来页面是通过七牛云镜像加速的,所以访问还可以,但是仪表盘就一定要翻墙,不然速度实在是不能接受。
尝试过加速服务,但是国内的加速服务全部都要备案……好麻烦……

缘由


起因是这样的,公司最近Google的VPN完全跪了,完全访问不了,这……你让我怎么活……
于是找到了一个超级好用的服务www.sssis.com,好用到什么程度呢,好用到我刚打开页面就给作者捐了10块……
用着用着,我就在思考这是怎么实现的……
想了半天都没找出一个可行的方案。
于是问宣酱,答曰:

Nginx反向代理。

没错,好主意呢!

不过既然Google已经有人提供服务了,而且Google如果想反向代理那一定是要走ssl的太麻烦,所以不如先反向一下博客。
OK,放假最后一天就这样过吧~

Nginx的安装


yum源里正常是没有Nginx的,而且VPS里正常都会有Apache httpd占用80端口,所以这两个问题要首先解决。

  1. 新增Nginx的官方yum源,新建 /etc/yum.repos.d/nginx.repo 源配置文件,输入如下内容:
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1
    
  2. 更新系统到最新状态:
    yum -y upgrade
    

    如果不想升级内核可以用如下参数:

    yum --exclude=kernel* update
  3. 安装、启动Nginx,关闭Apache httpd
    # 安装Nginx
    yum -y install nginx
    
    # 配置开机启动
    chkconfig --add nginx
    
    # 取消Apache httpd开机启动 
    chkconfig --del httpd
    
    # 关闭Apache httpd服务
    service httpd stop
    # 或
    /etc/init.d/httpd stop 
    
    # 启动 Nginx
    /etc/init.d/nginx start 
    

    好啦,到这一步位置,使用ip地址或者域名访问你的VPS,应该已经可以看到Nginx欢迎页面了~

  4. 配置Nginx
    Nginx的配置文件都在 /etc/nginx/ 目录下其中,nginx.conf 是主配置文件,我们可以暂且不用管它,直接进入 /etc/nginx/conf.d/ 目录。
    按照 nginx.conf 中的默认配置,Nginx会自动加载本目录中的所有配置文件,所以大家放心大胆的直接新建文件就好啦~不知道大家的习惯是怎样修改VPS配置文件的,ssh vi当然没问题,不过不停的修改再更新也是有些麻烦的,所以我一般喜欢用filezilla通过sftp协议22端口登陆,直接用sublime text打开文件,当filezilla发现本地临时文件被修改了之后会自动提示是否更新,更新后即会自动上传覆盖远端文件了,这时候在ssh中重启服务就额可以了,十分方便。OK,那我们就来试一下,首先在 /etc/nginx/conf.d/ 中新建配置文件,文件名随意,后缀名用 .conf就好了。比如我们新建一个 findix.conf 的配置文件。内容如下:

    ## Start www.findix.cn ##
    server {
        listen 80; #监听的端口
        server_name   blog.findix.com; #访问的域名
    
        access_log  logs/findix.access.log  main; #log位置,注意/etc/nginx/ 下默认是没有logs目录的,需要自己mkdir新建,不然编译conf的时候会警告的。
        error_log  logs/findix.error.log;
    
        index  index.html index.htm index.php; #默认index文件名
    
        ## send request back to apache ##
        location / {
            proxy_pass  http://fengxiang23.0fees.us; #反向代理最重要的啦,表示代理url,以 协议://域名:端口 的形式给出
    
            #Proxy Settings
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            proxy_max_temp_file_size 0;
            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;
            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
    ## End www.findix.cn ##

    该注意的地方注释里都写出来了,按照自己的情况配置即可。
    配置完成之后,reload或者restart Nginx服务即可

    /etc/init.d/nginx restart
    

    注意一下编译结果,没问题的话……那就没问题了。

  5. 最后,把你的域名指向这台VPS就可以啦~
    立即生效!
  6. 没有啦~~快去访问一下看看。
    从这个博客上来看,在设置了反向代理之后的速度,啧啧,简直快得吓人啊,再也不用翻墙写博客了T T
    Over,今天就是这样喵

こんにちわ

Guten Tag!

这里你怎么不装13用奇奇怪怪的语言了啊?
因为我只会这么多XD

这篇日志想写已经好多天了……但是因为方案问题都没写成
首先,之前的方案没法用 Windows Live Writer不知怎么跪了,反正我永远连不上,Word倒是可以连上(才知道Word原来还有这么逆天的功能),但是用Word写Markdown!?脑抽了么!?
然后的方案就考虑Wordpress本身的插件了,期间发现翻墙以后WP特别是仪表盘访问超级流畅(页面因为做了七牛镜像,所以直接访问也挺快),Wordpress插件的问题也就顺利加入考虑(之前不想用主要就是仪表盘打开太!慢!)

装好WP-Markdown和Crayon的代码高亮之后,就没问题可以开始写啦~~

我还是图样图森破,其实问题太多了……
首先备份的问题
悲惨的发现马克飞象竟然收费了……了……了……
你让我印象笔记高级会员情何以堪,竟然没有Markdown功能,你也好意思说自己是笔记?只能算摘录工具吧……
然后整个WP都没有适合我的Markdown插件,WP-markdown竟然是自动转换为html然后编辑的时候再转回来……
转换的时候换行会有很大的问题,而且因为马克飞象不能用,导致我实在不知道该如何备份日志。
而且而且……crayon还不能用了……
最后最后……我反正是实在没办法了……
干脆直接写html吧……嗯就这样……其实感觉还不错(脑补微信上面那个哭着的笑脸)

关于语言

首先想说的还是关于最近的语言学习啦!
应该是那天没事看到了万门大学的主页,上面发现了好多语言教学视频,就点了进去看。 第一个应该就是日语的。
感觉还不错呐,挺好玩。
换一门听
竟然听懂了开头的全部日语!
那么多动画真没白看XD
再来,咦还有其他语言学习,法语学过几句,那就先看德语吧……
还是美女教学呐

噗……结果在听她读德语字母表的时候硬生生憋笑憋出内伤(晚上被窝里看,笑出声会被室友杀的233)
还有西班牙语
是个很紧张的小哥(喂喂你到底紧张什么啊
字母表一样的……奇葩,而且发现西语葡语法语什么的同属拉丁语族,跟英语简直完全没关系啊啊
(严格来说,英语属于日耳曼语族,当然考虑到英语和法语的关系,确实英语中也有很多法语表达,但是总体而言还是差距很大)
倒是英语和德语关系更近一些。
看到这里……我发现……中国人学日语根本就是开挂的啊!!!
开始我想学德语西语字母表主要是因为他们都是完全表音文字,会字母表就会读。
想想,拿着一篇德文,叽里呱啦读一遍,多么v587(虽然一个词都看不懂)
其实日语一样是表音文字,关键是!看得懂!
日语基本分这三种情况:汉子汉字、平假名的传统表达和语法结构、片假名的外来语
看看第一点,作为中国人省了多少事
这时,我的心中燃起了满满的自豪感,我是中国人!(除了写博客都要翻墙这点以外)
英语懂一点,外来语也省了不少事(剩下的问题就在于,怎么听懂用日语发音读出来的英文单词……)
简直是背完50音图就学完日语了一样。
简直是不背不是中国人的节奏,开搞!
当天看了前五个,あいうえお a i u e o
感觉不错,后面就一发不可收拾,每天下班以后看一两行,现在的进度是はひふへほ ha hi fu he ho
以后有空的话希望能每天写一篇学习总结,要坚持下去呀,毕竟感觉日语还是挺有用的,特别是跟学习成本相比,太划算了!
最重要是,真的很好玩呐!

最近书也是看的比较多(完全不知道该看书还是学日语……因为吸引力都很大啊……特别是还有轻小说以及电影这些备选)
一直都想记录一下自己的阅读——自己最大的爱好,总体来说,应该是超过电脑。
比如豆瓣呐什么的,果断时间还能看看自己看了多少书。
一直没实现……主要可能是看太快了吧,想记录的时候,忍不住先看,一看就看完了……就不记得记下来了……
所以确实也没什么好记的,书是永远看不完的,这真是这个世界上最温柔的事情

最近看的成书的主要是这几本(知乎就不说了……其实这才是耗费自己最多阅读时间的事情哈哈,常常刷完发现2点了……)

《汪曾祺作品集》

准确的说这不是书……是在线网页阅读的
知道汪先生,当然是因为课文《端午的鸭蛋》
能把吃的写得如此传神,也是堪比贝爷了(= =。。。做了个好奇怪的比喻)
好像零星看过几篇王先生的文章,这次忘记是什么原因了,想去找他的作品集来看看。
大好き!大愛!
看《沈从文先生在西南联大》一文,汪先生在文中说听沈先生上课时

谈徐志摩上课时带了一个很大的烟台苹果,一边吃,一边讲,还说:“中国东西并不都比外国的差,烟台苹果就很好!”

好有画面感,正好那天公司水果是苹果,晚上lynn打电话的时候我专门拿了一个苹果边吃边说,最后还跟她解释我为什么要吃苹果……说完就觉得自己的样子超傻,哈哈。

《俗世奇人》

冯骥才先生作品,来源同样是课文,《泥人张》和《刷子李》
冯先生作品是津门口语,喜欢说嘛嘛嘛的,书面语使用方言,同样有着超强的代入感。
篇幅很短,故事很有意思,小品文。
说到这想去看另一本书,费孝通《乡土中国》,记得家里有一本,当时没看完。

GEB


(写html标签实在好麻烦呐,有emmet也好么不是!特别是还要切换输入法。我去Sublime里写试试……)
(嗯好多了!)

GEB,全名是
Godel Escher Bach–an Eternal Golden Braid
《哥德尔 艾舍尔 巴赫:集异璧之大成》
知道是因为Matrix67的博客里顾森经常提到
看了前言就彻底跪了……
太牛的书的,原文就已经匪夷所思,看标题就知道了,数学,美学,音乐
结果这是一本CS著作。
最最不科学的是,这种如诗一般的文字,竟然还能翻译成各国语言!
要知道,作者可是在文中玩了各种一语多关,回文等等太多文字游戏了,
结果中国的翻译小组在原作者的大力协助下,以“移译”的原则,完美的塑造了中文版。
很多章节完全等于是重写的,但是真正表达了作者的思想,这种境界,完全超越了信达雅,堪称CS著作翻译之最。
这一切开始于1985年……
各位大大们请收下我的膝盖吧,我一定要跪着读完……

七周七语言

一本看上去就像是XX天学会C++的书
要不是之前不知道哪里听说过,还真不会去看。
实际上是深入剖析了7门语言,各具代表性,面向对象,函数式,脚本。对于我现在这种阶段实在合适。
代码算是可以随心写,但是对语言本身的理解不多,之前拜读了《编写高质量代码——改善Java程序的151个建议》,发现,看完以后根本不好意思说自己会写Java啊。

其他

其他几本就直接说了

  • 《零ZERRO:世界符号大全》:感觉是符号学的入门读物,作为丹布朗狂热粉,这种装帧超级精美,内容如此吸引人的读物绝度不能错过。
  • 《数学之美》:讲算法,宣酱推荐,之前为了写智取项目看过其中分词和Bloom过滤器两章,记得页数不多,值得一看。
  • 《动画师生存手册》:应该是这方面仅有的书了吧……只是这PDF质量实在不能忍啊,根本看不清……肿么破
  • 《设计中的设计》:原研哉,其他就不用说了。
  • 《Visual Studio程序箴言》:VS使用的书,有空看看吧,毕竟不看书实在很多功能不知道。虽然不知道影响也不大……

音乐

《阿呆系列 古典音乐》
之前烧对音乐类型没什么偏好,Classic Music可能钢琴听得多一些(多数是看着谱子听一下看没有希望练会……)
然后就是久石让的音乐了,因为实在喜欢。
看了书之后,当然觉得不能浪费设备,打算开始按照古典音乐发展顺序听下来。
从格里高利圣咏到巴洛克,再到古典音乐时期,现在刚听到巴赫
突然想到之前看过一个视频,挺好的,一会儿写完日志去找来看看
(找到了,七分钟读懂音乐史。人人分享的搜索功能哪去了我去!找了半天)

音乐来源之前是随意Google的,后来发现了
国家大剧院——古典音乐频道
简!直!良!心!
高质量正版音乐回放
简直人民福利

嗯差不多就这样,写这篇花了好久,元旦放假第二天。
写了2600字……我去……
呐,新年快乐!