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 授权
- …