在Git远程连接中配置SSH

最近同时在使用Github和Coding,两者都支持Git仓库。而Git是目前世界上最先进的分布式版本控制系统,相较于SVN,分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作!当有网络的时候,再把本地提交推送一下就完成同步了,非常方便,Git得到了众多IT开发平台和工作者的青睐!

Linux上使用Git,在各发行版本中非常方便。Windows上使用Git,需要从Git官网直接下载(网速慢的可以去国内镜像或者迅雷下载),然后按默认选项安装即可。我选择的是Portable版本,需要自己设置环境变量,将git的位置添加到PATH 中即可。PortableGit中有两个可执行文件:git-bash.exe和git-cmd.exe,看名字就知道怎么回事了。建议使用git-bash,可记录命令历史。关于Git的具体命令使用,这里就不再赘述了。

1. 生成密钥文件

连续三次回车(即不做任何输入),email地址可以虚拟。

1
ssh-keygen -t rsa -C "yourmail@email.com" [-f ~/.ssh/name-rsa]

注意了,~在win10上一般指“C:\Users\你的用户名“这个文件夹,假如你没有自定义用户文件夹。[ ]中内容代表你可以自定义密钥生成位置及名称。默认不需要,如果你要生成多个密钥文件时,为了避免覆盖,可以添加此参数。

在~/.ssh中会看到生成的id_rsa.pub和id_rsa文件。Github and Coding双线部署,需在~/.ssh中新建config文件,其内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
Host github.com
HostName ssh.github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa
Port 22

Host coding.net
HostName e.coding.net
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/coding_rsa
Port 22

Host后面的别名是为了区分不同SSH隧道,假设你有两个不同github.com账号,Host可分别设置为github1和github2。

2. 验证密钥

密钥文件生成后,按github.com和coding.net设置要求,将id_rsa.pub中内容全选复制粘贴过去。coding.net中分账户和部署公钥两个类型,部署公钥默认拥有该项目的只读权限,如果需要获取推送权限,不要忘记勾选部署公钥设置里的「授予推送权限」。具体可以见官方guideline。首次SSH登录时,需要通过验证是否可以登录,加v可以方便查找出错原因。如出现successfully authenticated字样就代表成功了!

1
ssh -vT git@github.com

有多SSH隧道时,git@github.com应替换为Host别名,即上面的github1或github2。

验证密钥时,如果出现以下问题:

Permissions 0644 for ‘~/.ssh/github_rsa’ are too open.

It is required that your private key files are NOT accessible by others.

说明系统认为这个文件的权限太大了,容易泄密,只需要改变文件权限即可。

1
sudo chmod 600 github_rsa

3. 双线Deploy

1
2
3
4
5
deploy:
type: git
repo:
github: git@github.com:usename/usename.git,master
coding: git@e.coding.net:usename/usename.git,master

Hexo同时deploy在Github和Coding时,_config.yml中添加以上字段,usename是具体账号名称。假设还有多个Github和Coding账号时,git@github.comgit@e.coding.net也应修改为Host别名。

Swim

今日,细雨绵绵,拖延到下午3点半,最终还是去泳池了。在这个尴尬的年龄,游泳是性价比不错的运动了。室内游泳不会受伤,想游就游,不想游就当泡澡,不受天气环境影响,水下耳边咕咚咕咚的声音还会让自己静下心来。

一直以来,自己缺乏锻炼,没有养成运动的好习惯,身体健康越来越差。坚持游泳是自己19年定的目标,尴尬的年龄其他目标无法实现,简单的都无法坚持就不要做白日梦了。坚持~ ~ ~

新版儿童生长发育参照标准

最新版中国儿童生长发育参照标准,为您提供0-10岁宝宝的身高(长)体重标准数据,帮助您科学监控宝宝的体格发育情况,保障宝宝的营养及健康状况良好。

宝爸宝妈们,快快查询对比下最新版中国儿童的身高(长)与体重标准比例,看看自己宝宝的生长发育情况~ ~ ~

ps:手机请横屏查看

个人职业评估

个人职业评估四个维度,星级评估适合绝大部分人,个人可以根据自身岗位或专业调整适合自己的星级。

  • 素质
    个人基础值,固有属性并受周边环境影响而变化

    意愿/动机 ★★★☆☆
    习惯 ★★★★☆
    价值观 ★★☆☆☆
    性格类型/特征 ★★★★☆
    智商 ★★★★☆

  • 能力
    能力就像武功绝招,拥有将出类拔萃

    观察能力 ★★★☆☆
    结构化思维能力 ★★★★★
    知识获取、整合与创新 ★★★★☆
    沟通表达能力 ★★★★☆
    人际人脉经营能力 ★★★★☆
    团队领导力 ★★★☆☆

  • 知识
    知识盲区会引发目标偏离

    专业知识 ★★★★☆
    行业知识 ★★★★☆
    法律和财务知识 ★★☆☆☆

  • 技能
    技能熟练程度影响产出效率

    PM技能 ★★★☆☆
    Office技能 ★★☆☆☆
    外语技能 ★★★☆☆

以上四个评估维度中未考虑健康因素,健康基础素质及健康管理能力都会影响个人的职业生涯,身体是革命的本钱就是这个意喻。

Github分支管理

1、分支查看

1.1 本地分支查看

使用 git branch命令,如下:

1
2
$ git branch
* master

*标识的是你当前所在的分支。

1.2 远程分支查看

命令如下:

1
git branch -r

1.3 查看所有分支

命令如下:

1
git branch -a

2、分支创建与切换

2.1 创建本地新分支

命令如下:

1
git branch [branch name]

例如:

1
git branch published

2.2 切换到新分支

命令如下:

1
git checkout [branch name]

例如:

1
$ git checkout published

2.3 创建+切换分支

创建分支的同时切换到该分支上,命令如下:

1
git checkout -b [branch name]

git checkout -b [branch name] 的效果相当于以下两步操作:

1
2
git branch [branch name]
git checkout [branch name]

3 、分支删除

3.1 删除本地分支

命令如下:

1
git branch -d [branch name]

例如:

1
git branch -d published

3.2 删除github远程分支

命令如下:

1
git push origin :[branch name]

分支名前的冒号代表删除,例如:

1
git push origin :published

4 、分支重命名

4.1 本地分支重命名

命令如下:

1
git branch -m oldbranchname newbranchname

4.2 远程分支重命名

修改远程分支,需要将本地分支重命名为新分支名称,然后删除远程分支,再把本地分支上传,命令如下:

1
2
3
git branch -m old_branch new_branch
git push origin :old_branch
git push --set-upstream origin new_branch

5 、分支整合

1
git pull

git pull = git fetch + git merge

6 、分支推送

6.1 分支强制推送

命令如下,-f代表强制推送

1
git push origin [branch name] [-f]

例如:

1
git push origin published

6.2 先pull,再推送

1
2
git pull origin master
git push -u origin master