Write the Code. Change the World.

7月 11

Git速查表

git version 2.36.0

文档说明

  • <> 表示【需替换的项】
  • [] 表示【非必填项】
  • | 表示【或】
  • 工作树(工作区),索引(暂存区),Git目录(HEAD) 三词含义参照Git官网

初始配置

git config --global user.name [<username>] 配置用户名

git config --global user.email [<email>] 配置邮箱

git config --global core.editor [<vim>] 配置编辑器

创建项目

git clone <options> 克隆远程仓库

git init [project] 初始化本地项目

添加

git add <file> 添加文件到暂存区

git commit -m <commit notes> 将暂存区的内容提交到HEAD

git commit -am <commit notes> 将add和commit合并操作

git commit --amend -m <commit notes> 将add和commit合并操作且合并到上次commit

显示

git status 显示状态

git diff [HEAD] 显示差异

git log 显示日志

git show <commit> 显示某个commit的详细内容

git blame <file> 显示文件每行的commit信息

撤回

git restore <file> 撤回工作区的修改

git restore --staged <file> 将已提交到暂存区的修改撤回工作区

git reset [--mixed] <commit> 将当前版本撤回到某个commit,保留工作区的修改

git reset --soft <commit> 将当前版本撤回到某个commit, 保留工作区和暂存区的修改

git reset --hard <commit> 将当前版本撤回到某一个commit,不保留工作区的修改

git rm <file> 将文件从工作区和暂存区删除

git mv <file> 将文件从工作区和暂存区移动或改名

git clean -df 从工作区删除未跟踪的文件

分支

git branch [--list] 显示所有分支

git branch -a 显示远程分支

git branch <branch> 创建分支

git branch -d|-D <branch> 删除分支

git branch -m <newbranch> 重命名当前分支

git switch <branch> 切换到已有分支

git switch -c <branch> 创建并切换分支

git merge <branch> 将某个分支合并到当前分支

git tag <tagname> 给当前分支打标签

git stash 将工作区的更改存储到脏工作目录中

git stash apply 将脏工作目录中的数据恢复到工作区(不会删除脏工作目录保存的数据)

git stash drop 将脏工作目录中的数据删除

git stash pop 将脏工作目录中的数据恢复工作区并删除脏数据

远程

git remote [-v] 显示远程库

git remote show <origin> 显示某个远程库的信息

git remote add <origin> <url> 添加远程库链接

git remote rm <origin> 删除远程库链接

git remote rename <oldname> <newname> 重命名远程库

git pull [<origin><branch>] 拉取远程库到本地库

git push [-u <origin> <master>] 将本地库推送到远程库

git push origin --delete <branch>|git push origin :crazy-experiment 删除远程分支

git fetch 从远程库获取到本地库

帮助

git help <command> 显示某个命令的详细使用文档

git <command> -h 显示某个命令的使用说明

checkout

~~该命令职责不明确,不建议使用;~~

git checkout <file> 丢弃工作区的修改

git checkout -f 强制丢弃工作区和暂存区的修改

git checkout <branch> 切换分支

git checkout -b <branch> 创建并切换分支

文章来源

https://learnku.com/articles/68324

阅读全文 >>

7月 11

设计 API 授权,或者调用第三方 API 时,经常会接触到:

Authorization : Bearer Tokenxxxxxx

有没有疑惑为何不直接写成这样就得了:

Authorization : Tokenxxxxxx

这是因为 W3C 的 HTTP 1.0 规范,Authorization 的格式是:

Authorization: <type> <authorization-parameters>

所以 Bearer 是授权的类型,常见的授权类型还有:
- Basic 用于 http-basic 认证;
- Bearer 常见于 OAuth 和 JWT 授权;
- Digest MD5 哈希的 http-basic 认证 (已弃用)
- AWS4-HMAC-SHA256 AWS 授权
- …

阅读全文 >>

6月 21

本地连接 redis, 出现 dial tcp 192.168.56.56:6379: connect: connection refused ,修改 redis 配置,重启就好了

操作

sudo vim /etc/redis/redis.conf

# 将 bind 127.0.0.1 ::1 改成 bind 0.0.0.0,然后重启

sudo service redis restart

# 查看
ps -ef | grep redis

阅读全文 >>

6月 17

这里就是尝试下 web3.storage,尝试 ipfs。

注册并取得 token

https://web3.storage/

去上边地址注册个账号。使用 github 授权或自己的 email 都可以。

点击 Account -> Create an Api Token 创建一个 token。你可以在 Api Tokens 里边里看见你创建的 token。

每个注册用户将会拥有 1 TiB 的空间。

阅读全文 >>

6月 17

在做 go 测试的时候,经常会有端口被使用,而没停止。停掉该进程就很有必要。

操作一波

# 以 3000 端口为例
lsof -i:3000

# 通过 lsof 命令找到 pid ,杀掉 pid
kill -9 xxxx

阅读全文 >>

6月 15

利用air(git)实现 go 项目的热重启。安装完 air 后,运行 air 出现 zsh: command not found: air 报错。air 是安装在 gopath 的 bin 目录下,终端找不到这个文件。

解决方法

vim ~/.zshrc

# 在末尾追加下边语句,保存
alias air='$(go env GOPATH)/bin/air'

# source 使得配置生效
source ~/.zshrc

再运行 air 发现就可以了。如果不行,是终端对应的配置文件不是这个。

  __    _   ___
 / /\  | | | |_)
/_/--\ |_| |_| \_ , built with Go

可是,如果又安装了一个呢。是不是又得再加。这样好麻烦。把 GOPATH BIN 目录加入到环境变量中就可以了的。

vim ~/.zshrc

# 加入下边的,保存
export PATH="$(go env GOPATH)/bin:$PATH"

# source 使得配置生效
source ~/.zshrc

阅读全文 >>