<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_风过无痕，生命如烟</title><subtitle type="text">每个人生下来都是天使，不过这个世界上也存在着恶魔。恶魔是天使变的，因为这个世界充满了诱惑。</subtitle><id>http://feed.cnblogs.com/blog/u/14956/rss</id><updated>2012-06-01T03:08:32Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/14956/rss"/><entry><id>http://www.cnblogs.com/hyamw/archive/2012/03/31/2427034.html</id><title type="text">使用Unity3D时，UIScrollView不滚动问题的解决方法</title><summary type="text">同时使用Unity 3D和iOS的UIScrollView会发现UIScrollView经常莫名其妙的不能滚动了在Unity 3D的论坛里找到解决方法：http://forum.unity3d.com/threads/100066-UIScrollView-bugs-out-when-drawn-over-Unity.The solution is actually simple, as described here: http://unity3d.com/support/documenta...-MainLoop.html in appcontroller.mm disable CADDi.</summary><published>2012-03-31T06:57:00Z</published><updated>2012-03-31T06:57:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2012/03/31/2427034.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2012/03/31/2427034.html"/><content type="html">&lt;p&gt;同时使用Unity 3D和iOS的UIScrollView会发现UIScrollView经常莫名其妙的不能滚动了&lt;/p&gt;&lt;p&gt;在Unity 3D的论坛里找到解决方法：&lt;a href="http://forum.unity3d.com/threads/100066-UIScrollView-bugs-out-when-drawn-over-Unity."&gt;http://forum.unity3d.com/threads/100066-UIScrollView-bugs-out-when-drawn-over-Unity.&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;The solution is actually simple, as described here:&lt;br /&gt; &lt;a href="http://unity3d.com/support/documentation/Manual/iphone-Optimizing-MainLoop.html" target="_blank"&gt;http://unity3d.com/support/documenta...-MainLoop.html&lt;/a&gt;&lt;br /&gt; &lt;br /&gt; in appcontroller.mm disable CADDisplayLink by setting:&lt;br /&gt;  #define USE_DISPLAY_LINK_IF_AVAILABLE 0&lt;br /&gt; and also switch it to use NSTimer by setting:&lt;br /&gt; #define MAIN_LOOP_TYPE NSTIMER_BASED_LOOP&lt;br /&gt; //#define MAIN_LOOP_TYPE THREAD_BASED_LOOP&lt;br /&gt; //#define MAIN_LOOP_TYPE EVENT_PUMP_BASED_LOOP&lt;br /&gt; &lt;/div&gt;&amp;nbsp;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hyamw/aggbug/2427034.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2012/03/31/2427034.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hyamw/archive/2012/02/16/2354111.html</id><title type="text">64位整数的编译错误</title><summary type="text">在用GCC编译下面的代码时出现以下错误：integer constant is too large for 'long' typeunsigned long long m_qtFlags=(m_qtFlags&amp;0xffffffff00000000)|Flags;google了一下发现原因如下：unsigned long long是64位整数，而编译器在解析没有后缀的常量时会尝试解析成int，而0xffffffff00000000超过了int的范围，所以会报warning或者error解决方法:在常量后面加ULL告诉编译器这是一个64位整数</summary><published>2012-02-16T06:02:00Z</published><updated>2012-02-16T06:02:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2012/02/16/2354111.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2012/02/16/2354111.html"/><content type="html">&lt;p&gt; 在用GCC编译下面的代码时出现以下错误：integer constant is too large for 'long' type&lt;br /&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;unsigned long long m_qtFlags&amp;nbsp;=&amp;nbsp;(m_qtFlags&amp;amp;&lt;span style="color: #800080;"&gt;0xffffffff00000000&lt;/span&gt;)|Flags;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;google了一下发现原因如下：unsigned long long是64位整数，而编译器在解析没有后缀的常量时会尝试解析成int，而0xffffffff00000000超过了int的范围，所以会报warning或者error&lt;br /&gt;&lt;/p&gt;&lt;p&gt;解决方法:在常量后面加ULL告诉编译器这是一个64位整数 &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hyamw/aggbug/2354111.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2012/02/16/2354111.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hyamw/archive/2012/01/13/2322030.html</id><title type="text">Android手机电池校正</title><summary type="text">本文摘自：http://bbs.zhangku.com/forum.php?mod=viewthread&amp;tid=55087一般来说，电池校正还是用土办法比较好，别借助第三方软件，很多都是骗人的，压根没用 非root HTC手机： 1. 保持手机开机状态，连接充电器充电(USB和线缆充电均可) 2. 手机LED变成绿色后说明电池已经充满，把手机从充电器拔下 3. 关闭手机，再连接充电器充电，让手机再次充到LED灯变成绿色 4. 拔下手机充电器 5. 手机开机，等到手机开机并完全进入系统后，迅速关机 6. 再次连接充电器到已经关闭的手机，等待几分钟后LED灯会再次变成绿色 7. 把手机从</summary><published>2012-01-13T12:42:00Z</published><updated>2012-01-13T12:42:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2012/01/13/2322030.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2012/01/13/2322030.html"/><content type="html">&lt;p&gt; 本文摘自：http://bbs.zhangku.com/forum.php?mod=viewthread&amp;amp;tid=55087&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;div&gt;一般来说，电池校正还是用土办法比较好，别借助第三方软件，很多都是骗人的，压根没用&lt;br /&gt; &lt;br /&gt; 非root HTC手机：&lt;br /&gt; 1. 保持手机开机状态，连接充电器充电(USB和线缆充电均可)&lt;br /&gt; 2. 手机LED变成绿色后说明电池已经充满，把手机从充电器拔下&lt;br /&gt; 3. 关闭手机，再连接充电器充电，让手机再次充到LED灯变成绿色&lt;br /&gt; 4. 拔下手机充电器&lt;br /&gt; 5. 手机开机，等到手机开机并完全进入系统后，迅速关机&lt;br /&gt; 6. 再次连接充电器到已经关闭的手机，等待几分钟后LED灯会再次变成绿色&lt;br /&gt; 7. 把手机从充电器拔下，开机正常使用&lt;br /&gt; &lt;br /&gt; 已经取得root权限的HTC 手机：&lt;br /&gt; &lt;br /&gt; 1. 保持HTC 手机开机状态，连接充电器充电&lt;br /&gt; 2. 手机LED变成绿色后说明电池已经充满，把手机从充电器拔下&lt;br /&gt; 3. 关闭手机，再连接充电器充电，让手机再次充到LED灯变成绿色&lt;br /&gt; 4. 拔下手机充电器&lt;br /&gt; 5. 手机开机，等到手机开机并完全进入系统后，迅速关机&lt;br /&gt; 6. 再次连接充电器到已经关闭的手机，等待几分钟后LED灯会再次变成绿色&lt;br /&gt; 7. 启动手机进入recovery模式(同时按住手机返回键和电源键启动)，然后选择wipe battery stats即可&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 或者用：&lt;br /&gt; 1. 开机，连接上充电器，直到指示灯变绿&lt;br /&gt; &lt;br /&gt; 2. 拔掉充电器，关机，接上充电器，直到指示灯变绿&lt;br /&gt; &lt;br /&gt; 3. 拔掉充电器，开机，进入系统后，关机，接上充电器，直到指示灯变绿&lt;br /&gt; &lt;br /&gt; 4. 拔掉充电器，开机到recovery里面的 advanced菜单里面 wipe battery status 后 重启即可&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 按照上面的步骤进行后电池校准就完成了，只比平时充电多用了5分钟的时间，但是校准后的电池和以前明显不同。&lt;br /&gt; &lt;br /&gt; 在电池校准前你会发现Desire的电池在充满电的情况下稍微使用就会降到93%左右，而校准后可以保持数小时100%的状态才开始降低到99%，总之校准后的HTC Desire电池绝对会让你惊喜。&lt;br /&gt; &lt;br /&gt; 另外root过的的手机通过recovery程序wipe battery stats后效果更好，但也不是必须。&lt;br /&gt; &lt;br /&gt; 注意电池校准只需要进行一次即可，多次尝试也不会让你的电池活性再增强。&lt;br /&gt; &lt;br /&gt; 如果你的电池在进行上述操作后仍然没有提升，那就要怀疑你的电池是否原装还是仿造了。还是仿造了&lt;/div&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hyamw/aggbug/2322030.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2012/01/13/2322030.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hyamw/archive/2011/12/17/2291249.html</id><title type="text">adb新参数支持Android 2.2安装到SD卡上</title><summary type="text">本文摘自:http://www.android123.com.cn/androidyizhi/568.htmladb新参数支持Android 2.2安装到SD卡上作者: Android开发网原创 时间: 2010-07-21 对于Android 2.2开始的软件可以装到到SD上的支持，对于adb命令而言也有了改进，对于Android 2.2固件中的pm命令开支持安装选项参数，这里新增了参数setInstallLocation，这里我们可以用adb通过shell命令执行linux的pm添加一些参数即可，比如adb shell pm setInstallLocation 0。其中最后一个参数0..</summary><published>2011-12-17T10:13:00Z</published><updated>2011-12-17T10:13:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2011/12/17/2291249.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2011/12/17/2291249.html"/><content type="html">本文摘自:&lt;a href="http://www.android123.com.cn/androidyizhi/568.html"&gt;http://www.android123.com.cn/androidyizhi/568.html&lt;/a&gt;&amp;nbsp;&lt;p&gt;&lt;strong&gt;adb新参数支持Android 2.2安装到SD卡上&lt;/strong&gt;&lt;/p&gt;&lt;div class="meta"&gt;&lt;span class="tag"&gt;作者: Android开发网原创&lt;/span&gt; &lt;span class="time"&gt;时间: 2010-07-21 &lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;p&gt;&amp;nbsp; 对于Android 2.2开始的软件可以装到到SD上的支持，对于adb命令而言也有了改进，对于Android 2.2固件中的pm命令开支持安装选项参数，这里新增了参数setInstallLocation，这里我们可以用adb通过shell命令执行linux的pm添加一些参数即可，比如adb shell pm setInstallLocation 0。其中最后一个参数0代表auto自动的，Android系统会自动选择，而1为手机内部的rom，2为外部sd卡存储，主要解释如下&lt;/p&gt;&lt;p&gt; &lt;code&gt;&lt;font face="新宋体"&gt;adb shell pm setInstallLocation&lt;/font&gt;&lt;/code&gt; &lt;em&gt;option&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;option&lt;/em&gt; 的值可以为以下数字&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;0&lt;/strong&gt; [auto] Let the system decide. 自动&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;1&lt;/strong&gt; [internal only] ROM中&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/strong&gt; [external] SD卡中&lt;/p&gt;&lt;p&gt;&amp;nbsp; 这里android123推荐大家对于经常用的小软件可以安装在手机内部，比如来电管理、系统工具这样可以提供更高的可靠性节省电量，而游戏类应用可以考虑安装到SD卡上，对于文件大小超过4MB的APK可以考虑安装到SD卡上，通过电脑墙纸让apk安装到sd卡的命令为&lt;/p&gt;&lt;p&gt; adb shell pm setInstallLocation 2&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;nbsp; 当然Android开发网提醒大家，还有新的获取安装的位置参数为getInstallLocation，我们使用adb shell pm getInstallLocation来获取软件的安装位置列表。&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/hyamw/aggbug/2291249.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2011/12/17/2291249.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hyamw/archive/2011/12/13/2285725.html</id><title type="text">如何计算亮度值</title><summary type="text">下面算法 摘自:http://www.cnblogs.com/dishuostec/archive/2011/09/07/2170148.html(返回值范围:0~100)functiongetLight(rgbHex){varcolor=parseInt(rgbHex,16);vary=(0.2973769*((color&amp;0xff0000)&gt;&gt;16)+0.6273491*((color&amp;0xff00)&gt;&gt;8)+0.0752741*(color&amp;0xff))/255;if(y&gt;0.008856){return116*Math.pow(y,</summary><published>2011-12-13T02:45:00Z</published><updated>2011-12-13T02:45:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2011/12/13/2285725.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2011/12/13/2285725.html"/><content type="html">&lt;p&gt; 下面算法 摘自:&lt;a href="http://www.cnblogs.com/dishuostec/archive/2011/09/07/2170148.html"&gt;http://www.cnblogs.com/dishuostec/archive/2011/09/07/2170148.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;(返回值范围:0~100)&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;function&amp;nbsp;getLight(rgbHex)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt;&amp;nbsp;color&amp;nbsp;=&amp;nbsp;parseInt(rgbHex,&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;16&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;(&lt;span style="color: rgb(128, 0, 128);"&gt;0.2973769&lt;/span&gt;&amp;nbsp;*&amp;nbsp;((color&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;0xff0000&lt;/span&gt;)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;16&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;0.6273491&lt;/span&gt;&amp;nbsp;*&amp;nbsp;((color&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;0xff00&lt;/span&gt;)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;8&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;0.0752741&lt;/span&gt;&amp;nbsp;*&amp;nbsp;(color&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;0xff&lt;/span&gt;))&amp;nbsp;/&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;255&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&amp;nbsp;(y&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;0.008856&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;116&lt;/span&gt;&amp;nbsp;*&amp;nbsp;Math.pow(y,&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;1&lt;/span&gt;/&lt;span style="color: rgb(128, 0, 128);"&gt;3&lt;/span&gt;)&amp;nbsp;-&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;16&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 0, 128);"&gt;903.29629629&lt;/span&gt;&amp;nbsp;*&amp;nbsp;y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;&lt;/div&gt;&lt;p&gt;参考资料：&lt;a href="http://en.wikipedia.org/wiki/Lab_color_space"&gt;Lab色彩空间&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hyamw/aggbug/2285725.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2011/12/13/2285725.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hyamw/archive/2011/12/08/2280457.html</id><title type="text">Win7系统下Safari不能打开网页的解决方法</title><summary type="text">在32位Win7系统下安装了Safari 5.1，结果打不开任何页面，总是说连不上服务器。在苹果官方论坛找到解决方案：以管理员模式运行cmd，然后输入下面命令：netsh winsock reset重启机器就可以了</summary><published>2011-12-08T03:23:00Z</published><updated>2011-12-08T03:23:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2011/12/08/2280457.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2011/12/08/2280457.html"/><content type="html">&lt;p&gt;在32位Win7系统下安装了Safari 5.1，结果打不开任何页面，总是说连不上服务器。&lt;/p&gt;&lt;p&gt;在苹果官方论坛找到解决方案：&lt;/p&gt;&lt;p&gt;以管理员模式运行cmd，然后输入下面命令：netsh winsock reset&lt;/p&gt;&lt;p&gt;重启机器就可以了&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hyamw/aggbug/2280457.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2011/12/08/2280457.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hyamw/archive/2011/10/10/2205262.html</id><title type="text">css中的绝对定位</title><summary type="text">参考内容摘自：http://www.w3school.com.cn/css/css_positioning_absolute.asp参考内容/*绝对定位使元素的位置与文档流无关，因此不占据空间。这一点与相对定位不同，相对定位实际上被看作普通流定位模型的一部分，因为元素的位置相对于它在普通流中的位置。普通流中其它元素的布局就像绝对定位的元素不存在一样：*/#box_relative{position:absolute;left:30px;top:20px;}/*如下图所示：*/参考内容/*绝对定位的元素的位置相对于最近的已定位祖先元素，如果元素没有已定位的祖先元素，那么它的位置相对于最初的包含.</summary><published>2011-10-10T03:05:00Z</published><updated>2011-10-10T03:05:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2011/10/10/2205262.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2011/10/10/2205262.html"/><content type="html"> &lt;p&gt;参考内容摘自：&lt;a href="http://www.w3school.com.cn/css/css_positioning_absolute.asp"&gt;http://www.w3school.com.cn/css/css_positioning_absolute.asp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('990f592f-824c-4c78-999f-44d5fa2d09ec')"&gt;&lt;img style="display: none;" id="code_img_opened_990f592f-824c-4c78-999f-44d5fa2d09ec" class="code_img_opened" onclick="cnblogs_code_hide('990f592f-824c-4c78-999f-44d5fa2d09ec',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&lt;div id="cnblogs_code_open_990f592f-824c-4c78-999f-44d5fa2d09ec" class="cnblogs_code_hide"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;/*&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;绝对定位使元素的位置与文档流无关，因此不占据空间。这一点与相对定位不同，相对定位实际上被看作普通流定位模型的一部分，因为元素的位置相对于它在普通流中的位置。&lt;br /&gt;&lt;br /&gt;普通流中其它元素的布局就像绝对定位的元素不存在一样：&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;*/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;br /&gt;#box_relative&amp;nbsp;&lt;/span&gt;{&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;position&lt;/span&gt;:&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;nbsp;absolute&lt;/span&gt;;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;left&lt;/span&gt;:&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;nbsp;30px&lt;/span&gt;;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;top&lt;/span&gt;:&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;nbsp;20px&lt;/span&gt;;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;}&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;/*&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;如下图所示：&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img alt="CSS 绝对定位实例" src="http://www.w3school.com.cn/i/ct_css_positioning_absolute_example.gif" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('c7d3ebc4-8712-48ae-822e-d20d4133bb83')"&gt;&lt;img style="display: none;" id="code_img_opened_c7d3ebc4-8712-48ae-822e-d20d4133bb83" class="code_img_opened" onclick="cnblogs_code_hide('c7d3ebc4-8712-48ae-822e-d20d4133bb83',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&lt;div id="cnblogs_code_open_c7d3ebc4-8712-48ae-822e-d20d4133bb83" class="cnblogs_code_hide"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;/*&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;绝对定位的元素的位置相对于最近的已定位祖先元素，如果元素没有已定位的祖先元素，那么它的位置相对于最初的包含块。&lt;br /&gt;&lt;br /&gt;对于定位的主要问题是要记住每种定位的意义。所以，现在让我们复习一下学过的知识吧：相对定位是&amp;#8220;相对于&amp;#8221;元素在文档中的初始位置，而绝对定位是&amp;#8220;相对于&amp;#8221;最近的已定位祖先元素，如果不存在已定位的祖先元素，那么&amp;#8220;相对于&amp;#8221;最初的包含块。&lt;br /&gt;&lt;br /&gt;注释：根据用户代理的不同，最初的包含块可能是画布或&amp;nbsp;HTML&amp;nbsp;元素。&lt;br /&gt;&lt;br /&gt;提示：因为绝对定位的框与文档流无关，所以它们可以覆盖页面上的其它元素。可以通过设置&amp;nbsp;z-index&amp;nbsp;属性来控制这些框的堆放次序。&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;这里要注意的是这一句：&lt;/p&gt;&lt;p&gt;&amp;#8220;绝对定位的元素的位置相对于最近的已定位祖先元素，如果元素没有已定位的祖先元素，那么它的位置相对于最初的包含块&amp;#8221;&lt;/p&gt;&lt;p&gt;当你要对某个元素进行绝对定位时，如果该元素的所有祖先元素都没有设置position属性，那么绝对定位所指定的位置是相对于body的（通常），如果有任意一个祖先元素设置了position属性，则绝对定位是相对于最靠近你要进行绝对定位的已经设置了position属性的祖先元素&lt;/p&gt;&lt;p&gt;比如：我们想让页面内容水平居中，但内容中有一个div需要使用绝对定位，以便浮在其他所有内容上面。这时候，需要在顶层的div的css属性中添加一个定位属性：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;position:relative;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;否则你会发现这个绝对定位的div的位置是相对于body的&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hyamw/aggbug/2205262.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2011/10/10/2205262.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hyamw/archive/2011/10/10/2205225.html</id><title type="text">CSS让内容水平居中（固定宽度）</title><summary type="text">修改顶层Div的css，包含如下一行：margin:0pxauto;关键在于后面的auto，前面的外边距可以根据需要随意设定，并设置div的宽度为固定值注：老版本的浏览器可能有问题，参考这篇文章解决：http://hi.baidu.com/john8412/blog/item/b689cdf74761242b720eec8d.html</summary><published>2011-10-10T02:48:00Z</published><updated>2011-10-10T02:48:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2011/10/10/2205225.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2011/10/10/2205225.html"/><content type="html">&lt;p&gt; 修改顶层Div的css，包含如下一行：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;margin:0px&amp;nbsp;auto;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;关键在于后面的auto，前面的外边距可以根据需要随意设定，并设置div的宽度为固定值&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;注：老版本的浏览器可能有问题，参考这篇文章解决：&lt;a href="http://hi.baidu.com/john8412/blog/item/b689cdf74761242b720eec8d.html"&gt;http://hi.baidu.com/john8412/blog/item/b689cdf74761242b720eec8d.html&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/hyamw/aggbug/2205225.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2011/10/10/2205225.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hyamw/archive/2011/09/14/2176621.html</id><title type="text">RSA host key for HOST has changed and you have requested strict checking</title><summary type="text">RSA host key for HOST has changed and you have requested strict checkingIf you get this:————————————-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@The RSA host key for HOST has change.</summary><published>2011-09-14T13:00:00Z</published><updated>2011-09-14T13:00:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2011/09/14/2176621.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2011/09/14/2176621.html"/><content type="html"> &lt;p&gt;&lt;strong&gt;RSA host key for HOST has changed and you have requested strict checking&lt;/strong&gt;&lt;/p&gt;&lt;div class="storycontent"&gt;&lt;p&gt;If you get this:&lt;/p&gt;&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;br /&gt;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;@&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WARNING: POSSIBLE DNS SPOOFING DETECTED!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @&lt;br /&gt;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;The RSA host key for HOST has changed,&lt;br /&gt;and the key for the corresponding IP address IP&lt;br /&gt;is unknown. This could either mean that&lt;br /&gt;DNS SPOOFING is happening or the IP address for the host&lt;br /&gt;and its host key have changed at the same time.&lt;br /&gt;今天突然发现git连不上服务器了，ssh连接的时候会抱错:Read socket failed: Connection reset by peer.&lt;/p&gt;&lt;p&gt;重新把Windows 7服务器上的CopSSH重新安装一次以后，再用ssh连接结果报下面的错：&lt;/p&gt;&lt;p&gt;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;@&amp;nbsp;&amp;nbsp;&amp;nbsp; WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @&lt;br /&gt;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!&lt;br /&gt;Someone could be eavesdropping on you right now (man-in-the-middle attack)!&lt;br /&gt;It is also possible that the RSA host key has just been changed.&lt;br /&gt;The fingerprint for the RSA key sent by the remote host is&lt;br /&gt;26:4c:b0:d0:e1:fa:de:f4:1d:1d:2f:33:b7:81:fc:78.&lt;br /&gt;Please contact your system administrator.&lt;br /&gt;Add correct host key in /.ssh/known_hosts to get rid of this message.&lt;br /&gt;Offending key in /.ssh/known_hosts:2&lt;br /&gt;RSA host key for 192.168.1.110 has changed and you have requested strict checkin&lt;br /&gt;g.&lt;br /&gt;Host key verification failed.&lt;/p&gt;&lt;p&gt;搜索到known_hosts文件，清空，重新启动还是不行&amp;#8230;&amp;#8230;&lt;/p&gt;&lt;p&gt;google以后发现了解决方法：&lt;/p&gt;&lt;p&gt;命令行调用如下命令：ssh-keygen -R HOST_IP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (HOST_IP替换成你的服务器的IP)&lt;/p&gt;&lt;p&gt;原文参考在这里：&lt;a href="http://codingrecipes.com/rsa-host-key-for-host-has-changed-and-you-have-requested-strict-checking"&gt;http://codingrecipes.com/rsa-host-key-for-host-has-changed-and-you-have-requested-strict-checking&lt;/a&gt;&lt;/p&gt;&lt;p&gt;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;@&amp;nbsp;&amp;nbsp;&amp;nbsp; WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @&lt;br /&gt;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!&lt;br /&gt;Someone could be eavesdropping on you right now (man-in-the-middle attack)!&lt;br /&gt;It is also possible that the RSA host key has just been changed.&lt;br /&gt;The fingerprint for the RSA key sent by the remote host is&lt;br /&gt;SOME_KEY&lt;br /&gt;Please contact your system administrator.&lt;br /&gt;Add correct host key in /Users/user&amp;#8230; to get rid of this message.&lt;br /&gt;Offending key in /Users/user&amp;#8230;&lt;br /&gt;RSA host key for HOST has changed and you have requested strict checking.&lt;br /&gt;Host key verification failed.&lt;br /&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;/p&gt;&lt;p&gt;Then try:&lt;/p&gt;ssh-keygen -R HOST&lt;br/&gt;&lt;p&gt;And try reconnecting&amp;#8230;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/hyamw/aggbug/2176621.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2011/09/14/2176621.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/hyamw/archive/2011/09/13/2174956.html</id><title type="text">VMware, Win7, Mac系统之间使用Git版本控制器的解决方案</title><summary type="text">前一阵子折腾了一阵子Git，用于在Mac系统和Windows系统之间进行代码同步：使用Git在Mac和Windows系统之间进行同步数据不过当时只是权宜之计，能让我从PC上更新Mac的代码和从Mac上更新PC的代码。现在新的需求出现了，我们有三种系统，苹果机器上的Mac OS X， Win7宿主机器上VMWare里面的Mac OS X以及Windows 7，代码仓库放在专门的服务器上。经过无数次的尝试，发现无法在VMWare里面的Mac OS X系统里面访问其他的Windows 7共享文件夹(可以ping通其他的Windows 7机器，就是Connect to Server不行，有哪位兄弟知道</summary><published>2011-09-13T11:02:00Z</published><updated>2011-09-13T11:02:00Z</updated><author><name>hyamw</name><uri>http://www.cnblogs.com/hyamw/</uri></author><link rel="alternate" href="http://www.cnblogs.com/hyamw/archive/2011/09/13/2174956.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/hyamw/archive/2011/09/13/2174956.html"/><content type="html">&lt;p&gt;前一阵子折腾了一阵子Git，用于在Mac系统和Windows系统之间进行代码同步：&lt;font color="#222222"&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2011/08/27/2155631.html"&gt;&lt;font color="#222222"&gt;使用Git在Mac和Windows系统之间进行同步数据&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#222222"&gt;不过当时只是权宜之计，能让我从PC上更新Mac的代码和从Mac上更新PC的代码。&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#222222"&gt;现在新的需求出现了，我们有三种系统，苹果机器上的Mac OS X， Win7宿主机器上VMWare里面的Mac OS X以及Windows 7，代码仓库放在专门的服务器上。经过无数次的尝试，发现无法在VMWare里面的Mac OS X系统里面访问其他的Windows 7共享文件夹(可以ping通其他的Windows 7机器，就是Connect to Server不行，有哪位兄弟知道如何解决的麻烦指点一下)，但是VMWare里面的Mac OS X可以和其他的苹果机器上的Mac OS X进行共享。Windows 7上可以访问Mac OS X的共享文件夹，但是push会失败。&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#222222"&gt;在种种问题下，我决定花时间弄一弄通过ssh访问git的方式：&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#222222"&gt;首先是服务器的问题，我们的服务器是Windows 7系统，默认没有ssh服务，所以需要单独安装:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#222222"&gt;google一番以后，找到两篇文章：&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://samwong.iteye.com/blog/986115"&gt;http://samwong.iteye.com/blog/986115&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.iteye.com/topic/690683"&gt;http://www.iteye.com/topic/690683&lt;/a&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;下载安装Git Extensions.(下载地址:&lt;a href="http://code.google.com/p/gitextensions/"&gt;http://code.google.com/p/gitextensions/&lt;/a&gt;),我用的版本是2.24,默认安装在C:\Program Files\Git下面,可以改成其他地方（对应的后面用到这个的地方也需要改）&lt;/li&gt;&lt;li&gt;右键"我的电脑"，选择"属性"，在左边列表里面选择"高级系统设置"，点击"环境变量"，在Path里面添加"C:\Program Files\Git\Bin"&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 426px; height: 474px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_AdvancedSystemProperties.png" /&gt; &lt;br /&gt;    &lt;/li&gt;&lt;li&gt;下载安装CopSSH.(下载地址:&lt;a href="http://www.itefix.no/i2/copssh"&gt;http://www.itefix.no/i2/copssh&lt;/a&gt;),我用的版本是:4.1.0,默认是安装在C:\Program Files\ICW下面，可以改成其他地方（对应的后面用到这个的地方也需要改）&lt;/li&gt;&lt;li&gt;在服务器上创建一个新的Windows帐户名字叫做git，拥有管理员权限.(用户名可以改成其他的，只要你愿意)&lt;/li&gt;&lt;li&gt;点击&amp;#8220;开始菜单&amp;#8221;-&amp;gt;"所有程序"-&amp;gt;"Copssh"-&amp;gt;"01. COPSSH Control Panel"&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 516px; height: 438px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_COPSSH_ControlPanel.png" /&gt; &lt;br /&gt;    点击"Add"开始添加用户    &lt;/li&gt;&lt;li&gt;&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 633px; height: 463px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_COPSSH_UserActivation.png" /&gt; &lt;br /&gt;    点击"Forward"进入下一个页面&lt;/li&gt;&lt;li&gt;选择刚刚创建的git用户(如果你的不是git用户，请选择你的用户名)&lt;br /&gt;    &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="border-width: 0px; border-color: black; width: 633px; height: 463px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_COPSSH_SelectUser.png" /&gt; &lt;br /&gt;    然后点击"Forward"会自动跳到激活用户页面&lt;/li&gt;&lt;li&gt;&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 633px; height: 463px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_COPSSH_UserActivation.png" /&gt;&lt;br /&gt;    继续点击"Forward"&lt;/li&gt;&lt;li&gt;激活确认页面，点击"Apply"&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 633px; height: 463px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_COPSSH_ActivateUserConfirm.png" /&gt; &lt;br /&gt;    &lt;br /&gt;    &lt;/li&gt;&lt;li&gt;在"开始"里面输入cmd&amp;lt;回车&amp;gt;，打开命令行窗口，输入如下命令：ssh &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#103;&amp;#105;&amp;#116;&amp;#64;&amp;#49;&amp;#50;&amp;#55;&amp;#46;&amp;#48;&amp;#46;&amp;#48;&amp;#46;&amp;#49;"&gt;git@127.0.0.1&lt;/a&gt;，然后应该就能看到提示让你输入密码，密码确认成功以后就可以看到下面的画面了&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 640px; height: 418px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_ssh-login.png" /&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;控制面板中选择Windows防火墙，点击左边的"高级设置",在左边列表中选择"入站规则"，然后点击右边的"新规则"&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 640px; height: 479px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_WindowsFireWall_InboundRuleType.png" /&gt;&amp;nbsp;&lt;br /&gt;    选择端口，然后点击"下一步"&lt;/li&gt;&lt;li&gt;输入端口号22,然后点击下一步&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 640px; height: 479px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_WindowsFireWall_InboundProtocalAndPorts.png" /&gt;    &lt;br /&gt;    &lt;/li&gt;&lt;li&gt;选择"允许所有连接"，点击"下一步"&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 640px; height: 479px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_WindowsFireWall_InboundAction.png" /&gt; &lt;br /&gt;    &lt;/li&gt;&lt;li&gt;根据需要选择你要的访问范围，然后点击"下一步"&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 640px; height: 479px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_WindowsFireWall_InboundProfile.png" /&gt; &lt;br /&gt;    &lt;/li&gt;&lt;li&gt;给新规则输入一个名字，然后点击"完成"&lt;br /&gt;    &lt;img style="border-width: 0px; border-color: black; width: 640px; height: 479px;" id="ViewPicture1_GalleryImage" alt="" src="http://images.cnblogs.com/cnblogs_com/hyamw/322360/r_WindowsFireWall_InboundName.png" /&gt;&amp;nbsp;&lt;br /&gt;    这样你就可以从其他机器通过SSH访问这台服务器了&lt;/li&gt;&lt;li&gt;配置SSH里面的Git&lt;/li&gt;    &lt;ol&gt;&lt;li&gt;点击"开始"-&amp;gt;"All Programs"-&amp;gt;"Copssh"-&amp;gt;"02. Start a Unix BASH Shell"&lt;/li&gt;&lt;li&gt;运行命令: cd /Bin&lt;/li&gt;&lt;li&gt;输入下面4条命令创建4个符号链接:&lt;br /&gt;        &lt;span class="pln"&gt;$ ln &lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;s &lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;cygdrive&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;c&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="typ"&gt;&lt;span style="color: rgb(102, 0, 102);"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;span class="typ"&gt;&lt;span style="color: rgb(102, 0, 102);"&gt;it&lt;/span&gt;&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;bin&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;exe git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;exe&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;        $ ln &lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;s &lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;cygdrive&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;c/&lt;span style="color: rgb(102, 0, 102);"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;span class="typ"&gt;&lt;span style="color: rgb(102, 0, 102);"&gt;it&lt;/span&gt;&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;libexec&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;core&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;receive&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;pack&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;exe git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;receive&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;pack&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;exe &lt;br /&gt;        $ ln &lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;s &lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;cygdrive&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;c/&lt;span style="color: rgb(102, 0, 102);"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;span class="typ"&gt;&lt;span style="color: rgb(102, 0, 102);"&gt;it&lt;/span&gt;&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;libexec&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;core&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;upload&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;archive&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;exe git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;upload&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;archive&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;exe &lt;br /&gt;        $ ln &lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;s &lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;cygdrive&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;c/&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;&lt;span style="color: rgb(102, 0, 102);"&gt;g&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="typ"&gt;&lt;span style="color: rgb(102, 0, 102);"&gt;it&lt;/span&gt;&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;libexec&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;core&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;upload&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;pack&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;exe git&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;upload&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;pack&lt;/span&gt;&lt;span class="pun"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;exe&lt;/span&gt;&lt;/li&gt;&lt;li&gt;这样你就可以在ssh登陆以后调用git了 (把c/git换成你的git安装所在目录， 比如d:\Program Files\Git，就换成d/Program~1/Git)&lt;/li&gt;    &lt;/ol&gt;&lt;/li&gt;&lt;li&gt;在服务器上创建Git仓库，通过调用命令git --bare init或者通过Git Extensions的GUI界面来初始化一个中央数据仓库，比如D:\Projects\Test&lt;/li&gt;&lt;li&gt;命令行下面调用命令: mklink /D "C:\Program Files\ICW\home\git\Projects" "D:\Projects"来创建一个目录的软链接（前面一个路径是CopSSH的安装路径下面之前创建的用户的home目录）&lt;/li&gt;&lt;li&gt;至此，服务器配置完成&lt;/li&gt;&lt;li&gt;客户端访问服务器时，URL为 &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#103;&amp;#105;&amp;#116;&amp;#64;&amp;#120;&amp;#120;&amp;#120;&amp;#46;&amp;#120;&amp;#120;&amp;#120;&amp;#46;&amp;#120;&amp;#120;&amp;#120;&amp;#46;&amp;#120;&amp;#120;&amp;#120;&amp;#58;&amp;#126;&amp;#47;&amp;#80;&amp;#114;&amp;#111;&amp;#106;&amp;#101;&amp;#99;&amp;#116;&amp;#115;&amp;#47;&amp;#84;&amp;#101;&amp;#115;&amp;#116;"&gt;git@xxx.xxx.xxx.xxx:~/Projects/Test&lt;/a&gt;，其中用户名和ip根据你的情况来定&lt;/li&gt;&lt;li&gt;Clone的时候没发现问题，但是客户端push的时候发现会抱错:&lt;br /&gt;    git: '~/Projects/Test' is not a git command See 'git --help'.&lt;br /&gt;    fatal: The remote end hung up unexpectedly&lt;br /&gt;找了半天，最后解决方法：在客户端运行下面命令：git config --global remote.origin.receivepack "git receive-pack"，或者每次push的时候加上参数 --receive-pack='git receive-pack'&amp;nbsp; （参考：&lt;a href="http://stackoverflow.com/questions/2736862/git-clone-works-remote-push-doesnt-remote-repository-over-copssh"&gt;http://stackoverflow.com/questions/2736862/git-clone-works-remote-push-doesnt-remote-repository-over-copssh&lt;/a&gt;）&lt;/li&gt;&lt;li&gt;另外,在Mac系统里面我们使用的是SmartGit客户端，需要修改一下ssh设置，点击"Preferences"-&amp;gt;"Git"-&amp;gt;"SSH Client"，选择"Use SmartGit as SSH client",否则会报告连接错误&lt;/li&gt;&lt;/ol&gt;   &lt;img src="http://www.cnblogs.com/hyamw/aggbug/2174956.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/hyamw/archive/2011/09/13/2174956.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
