开发高效率 Git命令 Cherry-Pick 摘樱桃

在实际的项目开发中(使用Git版本控制),在所难免会遇到没有切换分支开发、需要在另一个分支修改bug然后合并到当前分支的情况。之前遇到这种第一反应就是将分支合并过去来解决问题。如果你那些提交当中也穿插了其他人的提交而且他们的提交不可以合并到另一个分支,那么使用分支的合并将明显变得困难。下面分享给大家一个非常好用Git的命令Cherry-Pick来处理这些情况,从而提高开发的效率。

git Cherry-Pick 命令可以选择某一个分支中的一个或几个commit(s)来进行操作。你可以理解merge的个性定制版本

多次使用时要按提交的顺序进行合并,不然会导致某些文件发生冲突。这也是 容易 踩的坑。

  1. 当你的需求还没有完成的时候,其他人应该切换到另一分支开发的时候,你可以先在当前分支继续开发完,然后再选择Cherry-Pick命令合并过去就可以了。
  2. 当你需要将某个人的commits合并到另一开分时候,可以选择Cherry-Pick命令。(在实际的项目开发中,在所难免有人会提交错分支)
  3. 当你切换到某条分支修改Bug后,需要将修改提交合并另一分支,可以选择Cherry-Pick命令。

WordPress子目录Rewrite的404问题

这些天有个问题一直困扰着我,由于我的WordPress是放在网站的根目录下,因此我建立的一些子目录跑一些其他的应用,我发现这些应用被WordPress的.htaccess文件的RewriteRule所干扰,我费了好大劲修改.htaccess文件,使得子目录的文件的RewriteRule可以工作正常,却发现调用子目录的应用总是返回404状态,但是内容却是正常的。

其实,如果建立一个子目录放Discuz论坛,则论坛的RewriteRule也会被干扰,这个问题实在令人困惑,特别是返回404状态后,所有文件将不会被搜索引擎所收录。

经过一番调试和修改,我发现了一个很怪异的方法可以解决这个问题,就是在子目录的PHP文件中加入下面这一行代码:

header(“Status: 200 OK”);

之后我使用一些HTTP Status测试工具测试,该目录和文件就不再返回404状态了,而是返回200状态,之后我会观察一下该子目录在搜索引擎的收录情况,估计应该也会恢复正常了。WordPress的某些特性实在是令人奇怪,搞不懂为什么会是这样。

WordPress 真的飞不起來

来源: Willin Kan的博客

wordpress

或许有人会告诉你:WordPress 是最好的博客程序!是的,不过那已是以前的事了。

您是否觉得 WordPress 越来越臃肿? 再加上几个插件会更形笨拙。就像一部大客车, 起步相当耗油, 而且换档加速相当慢。 当客人一多, 上下车的时间更是拖慢了整个行程。其中最大的好处, 就是您可以在车上轻松睡一觉, 醒来刚好到站。

所有空间商最头痛的还是 WordPress, 严重消耗了大量内存和 CPU, 以下先引用某空间商的一段话:

WordPress is often using too much CPU Usage, which causes the server to slow down.

You‘ll need to get rid of your WordPress installation or look for an alternative, we want all users to note this issue.

大意是说:WordPress 太耗CPU了,您应该换成其它程序。是的,大家都应该换掉,千万别让WordPress 搞垮您的空间。直到最近,反对的声浪越来越烈,WordPress团队是该彻底检讨了。

以前我还说过 WordPress 将是下一个 IE,但没想到竟来的这么快。近四年来我都在挖掘 WordPress,也写了不少代码简化程序。探究越深, 越觉得无趣,因为它用了很多不需要的动作。 绕了一大圈才进城。尤其是后台用了很多外链链接到官网, 有些是rss, 有些是检查更新, 其实这些都没有必要。

以前还曾发现后台的几则新闻的rss竟高达2M,一般用户对这些资料连看都不看,这样rss有何作用?深窥 WordPress的心态,是借机取得PR,用户链接越多PR越高。终究还是个商业手段,为了赚钱?

有个口号:能用代码解决的,绝不用插件,因为插件太耗资源了。WordPress已具备丰富的函式库, 写插件的门槛非常低,连生手也很容易写出个插件。然而,这个插件耗费多少资源,却没人会去过问。记得 All in one 的插件吗? 因为太耗资源,用过的人都后悔了。现在google一下,还是有人在推荐All in one,为什么?

网络资讯应该要即时更新, 那些旧资料就删了吧! 别再误导别人落入陷阱。

顺便提一下 SBO (看不懂的把 B 改成 E),搜索结果都是十几年前的旧资料。 满城尽说 SBO, 殊不知都是狗屁。现在只要文章中提到SBO, 或是链接到SBO的网站,您的网站保証会被降权,因为会被当成作弊。这也难怪我在这边用 SBO 替代字。

时代一直在进步, 旧资料就别再拿出来害人了, 我这边不再提供以前的代码, 为的是各位的服务器, 请各位谅解。不是那些代码不好,而是WordPress 程序核心太大了,不使用任何插件的情况下都有点吃力,何况再加上插件。

就听我的建议,换个博客程序吧!至于改用哪个,可要自己挑了,我不敢推荐。

文章来源:Willin Kan 的博客

WordPress文章ID不连续的解决方法

2012-03-28 16:47  来源: congblog.cn

最近看到有许多朋友提到“WordPress文章ID不连续”怎么办?,其实笔者刚刚接触WordPress的时候就发现了这个问题,所以也是一开始就把WordPress的自动保存以及文章修订版本功能隐蔽。但是固定连接如果不用postid命名的话也许发现不了,但是大葱一直使用的就是这种固定链接。如果你网速不佳的时候,这会影响到文章的编辑以及发表页面的载入速度;另外每一次自动保存的文章草稿它都会自动写入我们的数据库,这样的话无形之中也就大大了数据库的储存,冗余数据太多的话也会影响到数据库的工作效率,另外也就是我们之前提到的文章ID不连续。

WordPress仪表盘并没有直接的提供关闭这个功能的选项,那么今天就给大家讲讲如何把这个功能完完全全的隐蔽掉。

方法1:

WordPress默认是每60秒就会对文章进行自动保存,我个人是觉得太频繁了,那么我们可以打开博客根目录下的wp-config.php文件,搜索“require_once(ABSPATH . ‘wp-settings.php’);”在其前面/上面添加如下代码:

//自动保存10小时一次

define(‘AUTOSAVE_INTERVAL’, 36000);

//取消自动修订版

define(‘WP_POST_REVISIONS’,false);

方法2:

代码来源于国外网站,使用环境:WordPress 3.3.1,原理上 3.0 以上都支持,WP3.0.x 大葱没有进行测试。在我们当前使用主题的 functions.php 文件加入如下代码即可:

/* 取消自动保存和修订版本 */

remove_action(‘pre_post_update’, ‘wp_save_post_revision’);

add_action(‘wp_print_scripts’, ‘disable_autosave’);

function disable_autosave() {

wp_deregister_script(‘autosave’);

}

清理数据库中以前的文章历史修订版本

自动保存和修订版本我们都解决了,接下来我们进行删除数据库中的冗余文章和修订版本,数据库操作之前大葱建议大家先进行备份。我们登录phpmyadmin 中进行数据库管理,SQL语句命令行中写入以下运行代码执行(如果更改了数据库表名的前缀,需要将数据表名称中wp改成你的前缀):

delete from wp_posts where post_type=’revision’;

本文固定链接:http://www.congblog.cn/878.html | 大葱博客

WordPress支持用户以Twitter帐号登录评论

据国外媒体报道,博客网站WordPress.com今日宣布,用户今后可通过登录Twitter或Facebook账户在WordPress网站上发表评论。

分析称尽管表面看来这仅是非常小的新功能,但它同时也为WordPress博客网站提供更多的发表评论的机会。第三方评论系统如Disqus以及Echo等网站目前均允许用户通过Twitter或Facebook账户发表评论,但这一功能对于博客平台网站来说是一个巨大的进步。

WordPress高层斯科特·波尔克(Scott Berkun)在官方博客中表示,新的登录系统可以使用户在同一时间登录不同的服务网站。这对于一些想通过Twitter或Facebook账户发表评论的用户来说非常方便。

据悉,用户通过Twitter或Facebook账户发表的评论将不会在社交网站上显示。该登陆方式仅是WordPress验证用户身份的方式。WordPress将来有可能会允许用户在Facebook或Twitter上分享及发布评论。

WordPress博客用户通过Facebook及Twitter发表的评论将会通过由Automattic开发的JetPack插件进行验证。

WordPress CKEditor smiley表情图标定制化

WordPress默认的编辑器不是很好用,我习惯将它替换成CKEditor,安装CKEditor For WordPress即可。安装后编辑器将被替换,评论框的编辑器默认会被替换成CKEditor,有时候会导致模板样式错乱,可以在CKEditor->Basic Settings中禁用。

CKEditor默认的smiley表情不适合中国,我们可以将表情改造一下换成自己喜欢的表情,方法如下。

1. 下载你想要的表情包,一般是gif格式的图片,假设这些图片所在的文件夹叫mysmiley,将该文件夹拷贝到插件的表情目录中,路径为

wp-content/plugins/ckeditor-for-wordpress/ckeditor/plugins/smiley/images

2. 修改配置文件wp-content/plugins/ckeditor-for-wordpress/ckeditor.config.js

在CKEDITOR.editorConfig = function(config) { … }中添加如下代码

config.smiley_path=CKEDITOR.basePath+’plugins/smiley/images/mysmiley/’;

config.smiley_images=[‘1.gif’,’2.gif’];

第一行代码定义了表情文件所在的文件夹的路径,第二行是表情文件名字的数组。这样点击编辑器的表情按钮,自定义图标就会显示出来。

当你的图标过多时,由于显示不开会导致一部分图标无法显示,而且表情图标对话框没有滚动条,为了避免这种问题,我们可以修改一下css文件。找到wp-content/plugins/ckeditor-for-wordpress/ckeditor/skins/kama/dialog.css(假定你使用了默认的皮肤kama),在最后一行添加如下代码

.cke_dialog_ui_html{height:350px;overflow:auto;}

这个文件是经过压缩的,所以添加代码时注意不要有空格。height定义对话框的高度,可以根据自己的需要写。这样表情多时会出现滚动条,就可以正常使用了。如果你的表情很少,就不要做这个改动,不然显示会出问题。

下面是几个已经做好的表情包和大家分享一下,配置语句写在压缩包的readme.txt中

1. 洋葱头系列表情

下载地址:CKEditor洋葱头表情图标下载

2. qq表情图标

下载地址:CKEditor QQ表情

基于xmlrpc的PingBack 规范形象介绍 在wordpress中广泛使用

Pingback是在博客圈的背景下诞生的一个新鲜玩意,说白了,其目的等同于csdn上的trackback。不过,它有更加完善的机制,而且用php很容易实现。
传统的博客是这样的,我写了篇很牛X的文章,你不巧看到了,但是我的观点你不同意,而且更不巧,你还非常喜欢抬杠,为了能和我抬杠,你就得在我的博客上留言,而且你啰里啰唆的打了1000个字上去。问题是,我不喜欢抬杠,所以我限制留言字数为100字。
问题来了,如果你对我的博客文章有几K个字节的感想,单单发表在我的博客评论里显得有点屈才。你可以在你的博客里重新发布一篇文章,为了让我知道你的大作,以便我们抬杠,你还得给我发封电子邮件告诉我。这个流程虽然不怎么复杂,但还是很麻烦。
Pingback简化了这个流程,只要在你啰里啰唆的评论里加个超链接,指向我的文章。我就会收到有关你的评论,而且还会自动显示在我的博客评论中。
神奇吧,神奇的背后是老瓶装新酒。要理解Pingback,最好有点web服务的知识,不知道也没关系,所谓web服务就是俩服务器之间没事倒腾数据玩,当然,俩服务器得使用同一种语言进行交流。目前,有两种倒腾语言,SOAP和xmlrpc,php5已全面支持。SOAP稳定可靠,但是很复杂,xmlrpc就简单实用的多。pingback就是基于xmlrpc实现的。
来看看具体的操作流程:
1、首先我发布文章,我的文章地址是:http://www.renseng.com/learning/dede-cms-remove-page-index-html.html。如果你乐意打开这个网页,并看下源文件,会注意到,在页面上有个link元素,内容是<link rel=”pingback” href=”http://www.renseng.com/xmlrpc.php” />。这玩意标示了一个pingback服务器的地址:http://www.renseng.com/xmlrpc.php。
2、然后你看了文章,开始在你的博客写你的啰里啰唆的评论,评论一开始可能会这样:carche在<a href=”http://www.renseng.com/learning/dede-cms-remove-page-index-html.html”>CURL……….</a>中 提到,我对此不敢苟同…………….
3、之后提交你的文章,如果你的blog系统是wordpress架构,当你提交文章之后,wordpress会扫描你文章中提到的链接,这时它发现了http://www.renseng.com/learning/dede-cms-remove-page-index-html.html这个链接。wordpress会抓取这篇文章,然后用一个像这样的正则表达式  ”/<link\s+rel=\”?pingback\”?\s+href=\”?(^>*)\”?\s+>/” 来寻找pingback服务器地址,找到这个地址后,开始倒腾数据。
4、你的blog系统会给找到的pingback服务器发送以下信息:你好,在某某博客文章中曾经引用了http://www.renseng.com/learning/dede-cms-remove-page-index-html.html这个超链接。
5、我的pingback服务器收到信息之后,先检查一下是不是确实有这回事,如果是就返回随便什么字符;如果不是,就返回一段错误码。之后,我的blog系统会根据你请求的信息,到你的评论里面抓取内容,并显示在我的blog评论中。
大致流程是这样的,如果要看详细的规范,参考:http://www.hixie.ch/specs/pingback/pingback

Live Writer WordPress XMLRPC Error Invalid

The response to the metaWeblog.newPost method received from the weblog server was invalid:
Invalid response document returned from XmlRpc server

前几天用lw发文章突然出现上面错误,在网上找了很多方法都没能解决,最后仔细回想,我最近更改了主题

我查看了最近更改的所有文件,最后发现 functions.php文件是UTF-8 带BOM的,赶紧移除,问题解决。

小结:用windows 平台编辑UTF-8 编码文件,上传之前最后做一下移除BOM的操作,要不出现问题时找起来很费力气,因为程式是没有问题的