Mac上的多个SSH Key管理

SSH Key主要是用来绑定当前使用的设备和Server,防止没有权限的人在没有许可的设备上对代码进行操作。之前讲过怎么添加SSH Key,现在讲多个SSH Key的管理。

我们先到到用户目录下的隐藏文件:

先看下目录下有哪些密钥对,pub后缀的公钥,没有后缀的是私钥,公钥要放到Server上,非对称加密,OK,不要问我什么是非对称加密……

看下已经添加的密钥,如果真的没什么概念,不知道这些东西怎么添加上去的,和我重新跑一边吧

删除私钥列表中的所有已经添加条目,我们重新来过,放心目录下的文件都还在,只是删除了他们的引用

等下把没有pub前缀的私钥,全部加回去就是了

这里我们假设id_rsa对应的是github上的私钥,现在要在加一个百度内部的ssh key
就拿我自己来说

回车,选择文件路径:~/.ssh/id_rsa_baidu,连续回车,后面不用管直到结束

复制所有内容到Server,然后配置config文件

你喜欢vim也行,我喜欢sublime,因为ruby社区都用sublime,而我从来就是跟在大神后面默默学习的一个很low的人。复制粘贴下面这行

格式一样的还差多少写多少,这两个是模板。保存退出,测试是否配置成功:

看到明显的提示说明ok了

 

 

使用git管理svn托管的项目(Mac)

遇到一种情况,团队的项目是使用svn管理的,但是我又习惯用git管理,开多个分支,同步开发,而且没有完成的东西不想上传到服务器,于是,问题来了,我想用git来管理已经被svn托管的项目

cd 到svn目录下,git init,初始化本地的repo,然后vi .gitignore文件 添加

保存退出

然后到github创建远程仓库,记得是直接创建,不要自动生成其他内容,拷贝git@github.com:HongliYu/XXX.git
在本地添加远程仓库

检查是否已经成功添加

把本地项目推到github

接着是svn也要添加ignore,因为在目录下已经有git的东西了,对吧

找到global-ignore在global-ignores 末尾加上.git .gitignore,我的是这样的:

OK,现在可以把git下的dev分支,推送到远端,换台电脑继续干,或者dev分支在本地走标准的git workflow也行,每次svn update以后记得checkout到master,feature开发完以后merge到master分支

Tips: 当git status出现UserInterfaceState.xcuserstate,每次需要更新,好吧,gitignore无效,要这么做

Github上fork流程的小结

情况1:
从一个开源的版本库,fork出来,到自己的repositories,然后clone到本地,
我在develop分支上开发新功能,新建一个分支feature/XXX,其他人没有提交PR,我提交以后,maintainer批准通过,我在终端git pull upstream develop 这样本地就sync到最新的代码,最后git push origin develop 把本地最新的develop分支推到我自己的origin上的develop分支。
完成一次迭代,开始下一轮
情况2:
前提同上,我提交以后,有同事做了修改,发了PR,并且已经通过,当我要发PR的时候,upstream上有新的commit,那么我要先切换到本地develop分支,git pull develop upstream从源库拉最新的develop代码到本地,然后切换到feature/XXX分支,接着git rebase develop,重定义feature/XXX分支的base为最新的develop分支,在这里可能会发生rebase冲突,vi到冲突的patch文件,解决冲突,然后git add -u更新文件索引,就回到情况1的状态了。
小技巧:

fork后,如果需要快速获取和切换到他人的pr的话,在.git/config里的upstream添加:
fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*
git fetch upsteam后可以直接用命令如: git co upstream/pr/871来切换到他人的pr上了。如果co没有反应,配置,co 映射到checkout 命令

 

在Mac上更新git到最新版本

首先查看当前的git版本,打开终端输入

去这里看下http://git-scm.com/,如果不是最新的,更新吧。2014年Mac上git的版本是1.9的,有bug

查看git 的安装路径,记录为:路径A

然后

彻底删除,然后

没有brew自己去装一个

 

在Mac上为GitHub创建SSH Key

SSH Keys是一种让电脑相互信任而又不使用密码的方法。接下去的步骤会告诉你如何去创建SSH key并且添加到GitHub的账户当中

第一步:
首先,我们需要在本地检查已经存在的SSH keys。打开终端输入

会列出所有已经拥有的SSH keys。我的是长成这样的:

如果你的mac是全新的,可能什么都没有

继续阅读在Mac上为GitHub创建SSH Key

服务端Servlet和MySQL的中文乱码问题

我在用eclipse在Mac上用Servlet写接口,然后遇到各种中文乱码问题,前后花去我很多时间。整理下,好坑啊~

首先,Mac上安装eclipse Luna以后,发现这货的默认编码是US-ASCII,当然我先要换成UTF-8了,怎么换,切到菜单,Eclispe——Preferences——General——WorkSpace——Text file eccoding换成UTF-8,以后创建的Project默认的编码格式都是UTF-8,但有一点要注意,我今天就被坑了,当创建html时,charset=“US-ASCII”,果断改成UTF-8。一个action过来到servlet这里就是类似于“&#20013”这样的乱码,最后记得在Servlet的service方法里request.setCharacterEncoding(“utf-8”); 继续阅读服务端Servlet和MySQL的中文乱码问题

Mac上搭建nutch-1.8+solr-4.8.1

首先进入终端cd ~到用户主目录下,然后,开始下载:

什么,没有wget命令,请自己安装brew install wget,如果你连brew都没有,自己百度怎么装,这是mac下的yum,apt-get非常有用的工具

解压到当前目录下,然后进入验证下,看看是不是有效:

如果有warning 看看是不是没有设置JAVA_HOME,如果是Permission denied,用chmod改权限
现在添加种子URL,《逆转未来 X-Men》 继续阅读Mac上搭建nutch-1.8+solr-4.8.1

Mac命令行隐藏文件

缺省情况下,在 Mac下是不显示隐藏文件的,Finder也未提供设置是否显示隐藏文件的选项,不像Windows,有一个“文件夹选项“设置界面里可以控制,但这并不表示 Mac 下无法显示隐藏文件,我可以通过“终端”,用命令行设置这个选项,命令如下:
显示:

隐藏: