收纳箱

偶尔整理一些需要的东西

0%

Git身份设置

1
2
git config --global user.name "John Smith"
git config --global user.email "johnsmith@example.com"

项目生成

1.项目Clone

1
git clone 项目地址

可以用 -b 指定master分支

2.添加原始项目地址

1
git remote add upstream 项目地址

3.fetch原始项目:

1
git fetch upstream

4.切换到本地master分支:

1
git checkout master

5.将upstream/master merge到 本地master分支:

1
git merge upstream/master

6.push到自己的github仓库:

1
git push origin master

同步上游仓库 另一种方案

1
2
3
git remote update upstream

git rebase upstream/master

此方案相对更简洁,很多人都推荐这么做。

git强制覆盖:

1
2
3
git fetch --all
git reset --hard origin/master
git pull

git强制覆盖本地命令(单条):

1
git fetch --all && git reset --hard origin/master && git pull

GPG密钥生成

1
gpg --full-generate-key

推荐 RSA and RSA 方案,Key Size 4096.
user ID information :输入Github相关的信息
secure passphrase :输入加密密钥
其余选项可以根据实际需求适当修改

列出密钥

1
$ gpg --list-secret-keys --keyid-format LONG

之后显示类似下方代码,复制你的 GPG key ID。示例中是 3AA5C34371567BD2 。

1
2
3
4
5
6
$ gpg --list-secret-keys --keyid-format LONG
/home/$USER/.gnupg/secring.gpg
------------------------------------
sec 4096R/3AA5C34371567BD2 2019-06-10 [expires: 2019-09-10]
uid Hubot
ssb 4096R/42B317FD4BA89E7A 2019-06-10

输入命令(参考实际情况修改Key部分)

1
$ gpg --armor --export 3AA5C34371567BD2

3.添加 GPG Key 到 Github
复制 GPG key, 以 —–BEGIN PGP PUBLIC KEY BLOCK—– 开头,以 —–END PGP PUBLIC KEY BLOCK—– 结尾,在Github网页版添加到指定区域。

4.设置Git

1
$ git config --global user.signingkey 3AA5C34371567BD2
1
2
3
4
5
6
7
8
开启GPG签名
git config commit.gpgsign true

关闭GPG签名
git config commit.gpgsign false

让所有的本地仓库都使用GPG签名
git config --global commit.gpgsign true

GPG密钥导出

列出本地的所有 Key

1
gpg --list-keys

显示类似下方代码

1
2
3
4
5
 $ gpg --list-keys /home/$USER/.gnupg/pubring.gpg 
-----------------------------------
pub 4096R/3AA5C34371567BD2 2019-06-10 [expires: 2019-09-10]
uid Goren G (Git) <gythialy.koo+git@gmail.com>
sub 4096R/42B317FD4BA89E7A 2019-06-10
1
2
gpg --output gpgkey_pub.gpg --armor --export 3AA5C34371567BD2
gpg --output gpgkey_sec.gpg --armor --export-secret-key 3AA5C34371567BD2

GPG密钥导入

1
2
gpg --import ~/gpgkey_pub.gpg
gpg --allow-secret-key-import --import ~/gpgkey_sec.gpg

SSH密钥生成

1.检查是否已有 SSH key

1
$ ls -al ~/.ssh

2、创建 SSH key

1
$ ssh-keygen -t rsa -b 4096 -C "address@gmail.com"

当提示 Enter passphrase 时,输入一个用于加密SSH Key的密码,之后根据提示再次输入密码以确认。

3、添加 SSH key 到 SSH-Agent

1
2
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa

如果重装系统,这里可以导入之前备份的SSH Key。

4.添加 SSH key 到 Github

a、拷贝 ~/.ssh/id_rsa.pub 文件的内容
b、登录github页面,添加SSH Key

5、测试

1
ssh -T git@github.com

安装NVM

1
https://github.com/nvm-sh/nvm/

20200916:

1
2
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

重启终端。

NVM更换国内源

1
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

安装Node

1
nvm install node

NPM切换国内源

1
npm config set registry https://registry.npm.taobao.org

https://github.com/nodesource/distributions#deb

Node.js v14.x 配置软件源&安装:

Using Ubuntu

1
2
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

Node.js 建立模块全局安装目录:

1
mkdir ~/.npm-global

配置 npm 使用该文件夹:

1
npm config set prefix '~/.npm-global'

使用文本编辑器,编辑 ~/.profile 或 ~/.bashrc 文件,加入此行:

1
export PATH=~/.npm-global/bin:$PATH

重启,或者执行以下命令使之立刻生效:

1
2
source ~/.profile
source ~/.bashrc

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

1.依赖

需要安装git以及nodejs。

2.安装

1
npm install hexo-cli -g

2.创建

1
2
3
hexo init blog
cd blog
npm install

3.完善

1
npm install hexo-deployer-git  --save

4.美化

1
git clone https://github.com/theme-next/hexo-theme-next themes/next

5.推送

参考格式:

1
2
3
4
deploy:
type: git
repo: git@github.com:username/username.github.io.git
branch: master