基本初始信息
- 系统版本:macOS Catalina(10.15)
- 终端Shell:
zsh
(已安装oh my zsh
) - 代理软件
ShadowsocksX-NG
正常工作
终端代理配置
- 通过代理软件查询代理监听代理端口(如:地址为
127.0.0.1
,端口为1086
) - 在系统
zshrc
配置文件(一般为private/ect/zshrc
)末尾追加如下配置:alias proxy=" export http_proxy=http://127.0.0.1:1086; export https_proxy=http://127.0.0.1:1086; " alias unproxy=" unproxy='unset all_proxy' "
- 在系统终端中需要代理时候直接输入
proxy
即可开启代理,需要初始化代理配置时直接运行命令unproxy
即可。
Homebrew 安装
- 开启终端代理
- 运行如下
Homebrew
安装命令:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Git 安装
- 终端运行如下命令,通过 Homebrew 安装 Git
brew install git
- 重启终端
NVM 安装
- 到 NVM 官方 repo 复制安装命令(一般安装位置为 username/.nvm)
- 打开终端,执行复制的安装命令
- 重启终端即可通过命令
nvm --version
查看 NVM 版本
Node.js 安装
在终端中通过下面命令安装最新版本 Node.js
nvm install node
在终端中通过下面命令安装 LTS 版本 Node.js
nvm install --lts
查询目前安装的 Node.js 版本,及当前使用的版本
nvm ls
修正当前 Node.js 使用版本为最新版(下方代码中最新版为刚刚安装的 v15.0.0 版)
nvm use v15.0.0
配置本地 Git 多账户
初始化
先查询是否已经配置全局账户信息
git config --global user.name git config --global user.email
若有配置查询结果,则需要清除已有配置
git config --global --unset user.name git config --global --unset user.email
判断本地是否存在默认 .ssh 文件
cd ~/.ssh
若提示没有此文件或目录,则通过下述命令生成该目录及相关文件(命令执行过程中的配置询问可会车使用认值)
ssh-keygen
这样即在
username/
文件夹下创建.ssh
隐藏目录
配置
进入
.ssh
目录cd ~/.ssh
根据账户邮箱生成密钥
ssh-keygen -t rsa -C "[email protected]"
备注:配置过程中考虑到多账户因素,可自定义密钥名,如
github_yourname_rsa
等形式;其他自定义可采用默认配置。重复步骤1~步骤2,将多个账户的密钥依次生成
将上述步骤生成的密钥逐个在本地启用
ssh-add ~/.ssh/github_yourname_rsa
备注:执行命令后出现
Identity added: /Users/.....
为本地密钥启用成功设置本地密钥配置文件
在目录
user/username/.ssh
下创建文件config
,也可直接通过下述命令创建:cd ~/.ssh touch config
编辑
config
文件,按照下列格式,逐个添加账户配置,并保存Host yourname HostName github.com PreferredAuthentications publickey User Git IdentityFile ~/.ssh/github_****_rsa
备忘:个别字段说明
- Host: 自定义昵称,唯一,便于后续通过这个自定义昵称匹配对应密钥
- HostName: 域名,Git 账号网站域名
分别将步骤 1~3 中生成的公钥文件内容(
github_yourname_rsa.pub
,一定要.pub
结尾的文件)粘贴到对应到平台账号设置中。
测试
- 通过以下命令测试是否配置成功,
yourHost
指配置步骤 5.2 中的Host
字段
备注:若结果为ssh -T yourHost
Hi <yourname>! You've ...... , but GitHub does not provide shell access.
即为配置成功。
使用
后续执行
git clone
命令时需要进行以下变化(以往使用第一条命令,现在配置多账户后,通过第二条命令形式执行命令,即把github.com
替换为配置文件中配置对应的Host
字段值,不包括尖引号<
和>
)# Past git clone [email protected]:yourname/whatever.git # Now git clone git@<yourHostValue>:yourname/whatever.git
后续建议
git clone
代码之后尽早设定编辑此代码的账户和分支,避免提交代码时才发现是使用默认全局 Git 账户或主分支进行的代码更改。下面代码为示例代码:git clone git@alice:alice/whatever.git cd whatever git config user.name "alice" git config suer.email "[email protected]"
若同时使用博客框架 Hexo,则有以下地方需要修改
- 博客配置文件
_config.yml
中deploy
内容下的respository
字段值要做相应改变(由respository: [email protected]:......
改为git@alice:......
)。 - 博客项目 Git 文件
.git/config
中,remote "origin"
部分url
字段值要改为url = git@alice:......
。
- 博客配置文件