终端常见命令汇总

一、git

  • git fetch 从远程仓库获取最新的代码,但不会自动合并到本地代码
  • git pull git fetch + git merge
  • git pull --rebase git fetch + git rebase
  • git branch -a 查看所有分支
  • git branch feature 创建名为 feature 的本地分支
  • git checkout feature 切换到 feature 分支。切换到远程分支时,要 pull 更新代码
  • git checkout -b feature 创建并切换到 feature 分支
  • git push origin feature 推送到 origin 主机的 feature 分支,没有则进行创建。origin 就是远程仓库链接的别名
  • git branch --set-upstream-to=origin/feature feature 将远程仓库 origin 的 feature 分支与本地仓库 feature 分支关联。关联后,本地 feature 分支执行 git push 会默认推送到 origin 主机的 feature 分支
  • git push -u origin feature 以上两步的结合
  • git branch -m old_branch new_branch 对分支进行重命名
  • git branch -d feature 删除本地 feature 分支,分支包含未合并的更改或未推送的提交时无效
  • git branch -D feature 强行删除本地 feature 分支,无论其合并状态如何
  • git push origin -d feature 删除远程 origin/feature 分支
  • git merge master 获取 master 分支内容,并合并到当前分支。合并完成会自动创建一个新的 commit。如果合并的时候遇到冲突,需要修改后重新 commit
  • git merge master feature 获取 master 分支内容,并合并到本地 feature 分支
  • git commit --amend 修复还未 push 的 commit 信息(vim 编辑模式,:wq 退出)
  • git reset --soft HEAD^ 撤销上一次 commit,HEAD^ 的意思是上一个版本,也可以写成 HEAD1。如果想撤销两个 commit,可以使用 HEAD2。如果想撤销到指定某个版本,则将 HEAD^ 替换成对应版本的 commit id。该命令仅撤回 commit 操作,不删除工作空间改动代码
  • git reset --hard HEAD^ 撤销上一次 commit 和 add,并且删除工作空间改动代码(慎用)
  • git reset --mixed HEAD^ 撤销上一次 commit 和 add,但保留工作空间改动代码,效果等同 git reset HEAD^
  • git log 查看当前分支点提交记录(包括 commit id)。可补上 --oneline,让每条版本历史只显示一行
  • git reflog 查看所有 HEAD 的历史,包括 reset 和 checkout 操作
  • git stash 保存当前分支工作区和暂存区的修改到堆栈中
  • git stash list 获取堆栈列表
  • git stash pop 取出堆栈最新的修改,并应用到当前分支上
  • git stash pop "stash@{X}" 取出某一次记录
  • git revert <版本号> 取消某一次修改
  • git config core.ignorecase false 设置对目录名大小写敏感
  • git cherry-pick <版本号> 提取某次提交的修改到当前分支
  • git remote set-url <远程地址> 修改远程仓库地址
  • git remote -rm origin 移除现有远程仓库地址绑定
  • git remote add origin <远程地址> 添加新的远程仓库地址
  • git remote -v 查看远程仓库地址

1. 批量修改文件或目录名大小写

1
2
3
4
5
6
7
8
// git 默认对大小写不敏感,需要先设置成敏感
git config core.ignorecase false

// 假设将 index.vue 修改成 Index.vue,当修改完成提交后,git 将会创建 Index.vue,但原来的 index.vue 仍然会保留在仓库中,因此还需要移除原文件在 git 中的记录
git rm -r --cached index.vue

// 移除后将原文件的删除进出提交,即可形成一次重命名操作。最后恢复 git 对大小写不敏感
git config core.ignorecase true

二、windows 终端

  • ipconfig/flushdns 刷新 DNS 解析缓存

  • netstat -ano 查看端口占用情况

  • netstat -ano|findstr <端口号> 查看被占用端口号对应进程 id

  • taskkill /T /F /PID <进程 id> 结束进程

  • ssh -l ec2-user -i C:/Users/mohang/Desktop/dev-eks.pem -L 0.0.0.0:9030:127.0.0.1:9030 -L 0.0.0.0:9031:127.0.0.1:9031 -L 0.0.0.0:9050:127.0.0.1:9050 18.140.127.150

    SSH 端口映射(一) - 寻找普拉多 - 博客园 (cnblogs.com)

三、linux 终端

  • kube get pod -n gcp | grep merchant

  • kube get pod -n regoo | grep permission

  • kubectl -n gcp port-forward --address 0.0.0.0 account-stable-f495c9bf7-548wl 9035:9000

  • kubectl -n regoo port-forward --address 0.0.0.0 permission-stable-84784f5c96-gbvvp 9036:9000 (account 服务在 regoo)

    kubectl port-forward 使用 - 腾讯云开发者社区 - 腾讯云 (tencent.com)

  • sudo lsof -i:<端口号> 查看被占用端口号对应进程 pid

  • kill <进程号> 结束进程

    1
    2
    3
    4
    5
    6
    kube get pod -n gcp | grep seo-h5
    kube exec -it seo-h5-stable-784c5b48b5-xwrgz -c seo-h5 -n gcp -- sh
    npm run gen:static:test:id -- --target="Articles"
    vi urls.json【i 进入输入模式,esc 退出输入模式,:wq 离开 vi 模式】
    npm run gen:html:test:id -- --custom=1
    npm run gen:static:test:id -- --target="MixTag,MixDistrict,MixCustom"
  • rm -rf test.txt

    rm -rf 是一个 Linux 终端命令,它带有两个选项:r(recursive)和 f(force)。在 Linux 中,rm 命令主要用于删除文件或目录。当加上 r 和 f 选项后,它会递归地强制删除指定的文件或目录,包括子目录及其所有内容,而不会询问用户是否确认

四、node

  • rimraf node_modules 删除 node_modules

  • npm cache clean --force 清除 npm 缓存

  • nvm list 查看 node 安装版本集

  • nvm ls 查看已安装 node 版本

  • nvm install <版本号> 安装对应 node 版本

  • npm list vue 查看 vue 版本

  • vue -V 查询 vue-cil 脚手架版本

  • nvm use 版本号 (如 14.15.0) 切换使用版本

    五、vscode 快捷键

  • ctrl + , 打开设置

  • ctrl + shift + p 打开最近配置 (reload window 重启)

  • shift + win + ⬇ 调整为小窗口

  • shift + win + ⬆ 调整回大窗口

  • shift + win + ➡ 窗口向右移动

  • shift + win + ⬅ 窗口向左移动

    六、vscode md 语法

  • ctrl + k v 预览(先按 ctrl + k,松开 ctrl,再按 v)

  • ctrl + shift + ] 添加/降低标题等级

  • ctrl + shift + [ 取消/增加标题等级

  • alt + shift + f 表格

    七、vscode 正则

  • \n.*console.info\(.*\);? 匹配 console.info 语句

    八、windows 快捷键

  • alt + tab 打开当前界面视图

  • fn + f4 降低屏幕亮度

  • fn + f5 提高屏幕亮度

    九、浏览器

  • shift + esc 打开任务管理器

十、奇怪的 vim 指令

  • D normal 模式下删除从光标到句末的所有字符
  • C normal 模式下删除从光标到句末的所有字符,并切换到 insert 模式
  • == 格式化当前代码段落