同一台电脑关于多个 SSH KEY 管理

使用环境:关于同一台电脑LInux系统下使用多个SSH key 切换使用(或者多用户使用ssh提交代码要求,可以创建不同的 PUBLIC KEY ,根据下面步骤设置.(1)比如有aaa,bbb,ccc 三个帐号需要生成不同的 PUBLIC KE$ ssh-keygen -t rsGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):/root/.ssh/id_rsa_aaEnter passphrase (empty for no passphrase)Enter same passphrase againYour identification has been saved in /root/.ssh/id_rsa_aaa.Your publi... Read More

Git 工作流指南:Pull Request 工作流

Pull Requests是Bitbucket上方便开发者之间协作的功能。提供了一个用户友好的Web界面,在集成提交的变更到正式项目前可以对变更进行讨论。开发者向团队成员通知功能开发已经完成,Pull Requests是最简单的用法。开发者完成功能开发后,通过Bitbucket账号发起一个Pull Request。这样让涉及这个功能的所有人知道,要去做Code Review和合并到master分支。但是,Pull Request远不止一个简单的通知,而是为讨论提交的功能的一个专门论坛。如果变更有任何问题,团队成员反馈在Pull Request中,甚至push新的提交微调功能。所有的这些活动都直接跟踪在Pull Request中。相比其它的协作模型,这种分享提交的形式有助于打造一个更流畅的工作流。SVN和Git都能通过一个简单的脚本收到通知邮件;但是,讨论变更时,开发者通常只能去回复邮件。这... Read More

Gitflow 工作流程

    在工作场合实施Git的时候,有很多种工作流程可供选择,此时反而会让你手足无措。本文罗列了企业团队最常用的一些Git工作流程,包括Centralized Workflow、Feature Branch Workflow、Gitflow Workflow、Forking Workflow。愿以此文抛砖引玉。在你开始阅读之前,请记住:这些流程应被视作为指导方针,而非“铁律”。我们只是想告诉你可能的做法。因此,如果有必要的话,你可以组合使用不同的流程。(本文主要介绍Gitflow Workflow……Vincent Driessen曾经写过一篇博文,题为“A successful Git branching model”(一个成功的Git分支模型)。Gitflow工作流程就是从这篇文章里来的。Gitflow工作流程围绕项目发布定义了严格的分支模型。尽管它比Feature Branch W... Read More

Vim 快捷键整理

一、移动光标1、左移h、右移l、下移j、上移2、向下翻页ctrl + f,向上翻页ctrl + 3、向下翻半页ctrl + d,向上翻半页ctrl + 4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处5、移动光标到下一个句子 ),移动光标到上一个句子6、移动到段首{,移动到段尾7、移动到下一个词w,移动到上一个词8、移动到文档开始gg,移动到文档结束9、移动到匹配的{}.().[]处10、跳到第n行 ngg 或 nG 或 :11、移动光标到屏幕顶端H,移动到屏幕中间M,移动到底部12、读取当前字符,并移动到本屏幕内下一次出现的地方 13、读取当前字符,并移动到本屏幕内上一次出现的地方 二、查找替换1、光标向后查找关键字 #或者g2、光标向前查找关键字 *或者g3、当前行查找字符 fx, Fx, tx, T4、基本替换 :s/s1/s2 (将下一个s1替换为s2... Read More

抓包工具 tcpdump 的使用说明与官方文档

一直在Linux下开发的人一定会用到tcpdump,下面就是关于tcpdump的使用方法说明tcpdump的选项-a —— 将网络地址和广播地址转变成名字-d —— 将匹配信息包的代码以人们能够理解的汇编格式给出-dd —— 将匹配信息包的代码以c语言程序段的格式给出-ddd —— 将匹配信息包的代码以十进制的形式给出-e —— 在输出行打印出数据链路层的头部信息-f —— 将外部的Internet地址以数字的形式打印出来-l —— 使标准输出变为缓冲行形式-n —— 不把网络地址转换成名字-t —— 在输出的每一行不打印时间戳-v —— 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息-vv —— 输出详细的报文信息-c —— 在收到指定的包的数目后,tcpdump就会停止-F —— 从指定的文件中读取表达式,忽略其它的表达式-i —— 指定监听的网络接口-r —— ... Read More

Git 与 SVN 的使用感受

这是一篇上网一搜一大堆的文章,所以,重在个人感受(不说具体实现,当然现在也不懂!)。工作环境需要,分别接触了Git和SVN版本控制工具。接触不久,尽管这两种工具都不是很熟悉,目前仅能达到满足简单的工作需求(有时还需要查引擎)。但,还是有一些感受以记录。分支(branches)与里程碑(tagsGit的分支和里程碑很有趣和简单,可以快速地在当前工作区切换不同的分支和里程碑。SVN的分支和里程碑本身就是一个目录(拷贝),目录下分别有一个.svn的文件夹以存储版本信息。所以,SVN切换分支很麻烦,需要切换工作区(每一个工作区只对应服务器的某一分支)。而Git却很方便。集中式与分布式这个事情和上面的分支和里程碑是有重叠的地方的。Git采取的是分布式。简单的说就是每台checkout过代码的笔记本上都有着一个完整的代码库。而SVN却是集中式的,只有一个是代码仓库,就是服务器。所以,Git可以本地提交,SVN需联网提交。... Read More