这里只记录个人最常用的命令,其余现用现查

git


git 部分由于现在大多是个人开发所以rebasepull request 都没有记录

提交与查看

  • git add <filename> / git add .
    • git stash clear 清空暂存空间
    • git reset <filename> 将已经 add 但没 commit 的文件移除
  • git commit -m <message>
  • git status / git log / git relog
  • git rebase -i HEAD~<number> 压缩提交

回退

  • git reset --hard <commitID> 不保存所有变更
  • git reset --mixed <commitID> 回退提交但保留更改

分支

  • git checkout -b <name> <template> 以 template 为模板建立以 name 为名的新分支
  • git branch -a 查看本地和远程分支
    • git branch 查看本地分支
    • git branch -r 查看远程分支
  • git checkout <BrachName> 切换分支
  • git config --global init.defaultBranch main 设置默认分支为 main
  • git branch -d <Local-BranchName> 删除本地分支
  • git push origin --delete <Remote-BranchName> 删除远程分支

合并

  • git merge <BranchName> 合并分支的变更
  • git rebase <BranchName> 变基分支

仓库

  • git remote add origin <link>
    • git remote -v 查看仓库连接状态
  • git clone <link>
  • git push origin <Local-BranchName>
    • 原命令 git push origin <Local-BranchName>:<Remote-BranchName>
    • git push -f origin master 强制推送
    • git push origin --delete <Remote-BranchName> 删除远程主机的 master 的该分支
  • git push --set-upstream origin <Local-BranchName>
  • git pull origin <Remote-BranchName>:<Local-BranchName> 同时完成 fetch 和 merge 的操作

提交规范(type 部分)

  • sync:同步主线或分支的 bug
  • merge:代码合并
  • revert:回滚到上一个版本
  • chore:构建过程或辅助工具的变动
  • test:增加测试
  • perf:优化相关,比如提升性能、体验
  • refactor:重构(既不是新增功能,也不是修改 bug 的代码变动)
  • style:格式(不影响代码运行的变动)
  • docs:文档
  • fix / to:修复 bug
  • feat:新功能

ssh


登陆与配置

  • ssh-keygen 创建 rsa 密钥

  • 在 .ssh/config 下配置服务器:

    1
    2
    3
    Host myserver
    HostName 公网ip
    User 用户名
  • ssh-copy-id <ServerName> 免密登录

    • 然后直接使用 ssh myserver 即可直接登录
  • ssh <User>@<HostName> -p <PortNumber>

    • 使用用户名 User 登录端口号为 PortNumber 的主机名为 HostName 的服务器
    • 实例: ssh acs@152.136.154.181 -p 20000

传文件

  • 本地 ==> 服务器

    • 传文件
    1
    2
    3
    scp  /home/test/hello.txt myserver: #直接复制在根目录
    scp /home/test/hello.txt myserver:/home/temp
    scp index.html style.css json.js myserver:/web #多文件
    • 传文件夹 :使用 -r 递归复制
    1
    scp -r /data myserver:/home/des #把data放在des目录下
  • 服务器 ==> 本地

    • 传文件
    1
    2
    scp myserver:/main.cpp /home/code
    scp myserver:/conf.js . #把conf.js复制在本地当前路径
    • 传文件夹
    1
    scp -r myserver:working .

docker


官网:Post-installation steps for Linux | Docker Documentation

dockerhub:dockerhub

镜像

  • docker pull xxx 拉取某镜像
  • docker rmi xxx 删除某镜像
  • docker save -o <Name>.tar <ImageName> 将这个镜像导出到本地 Name.tar 文件中
  • docker load -i <Name>.tar 将这个镜像文件加载出来

容器

1
2
3
4
docker run -it ubuntu:20.04    #创建并进入一个ubuntu20.04容器

docker run -it --name redis-test -p 6379:6379 redis:latest /bin/bash #创建并进入一个redis容器
redis-cli #开启redis服务
  • 传文件
    • docker cp /路径/文件名 容器 ID:/上传路径
    • docker cp 容器 ID:/上传路径 /路径/文件名
  • docker start <ContainerName> 启动容器,同理有 stop rm restart
  • docker exec -itd <ContainerName> /bin/bash 进入容器
    • ctrl+p + ctrl+q 挂起后退出
  • docker export -o <Name>.tar <ContainerName> 将容器导出到本地
  • docker import <Name>.tar <ContainerName> 将文件导入成镜像并命名为 ContainerName
  • docker commit <ContainerName> <REPOSITORY:TAG>从容器创建一个新的镜像