[分享创造] 一个用于 Git 多账号 SSH identity 自动隔离的 CLI 工具

背景:命令行开发环境下的多 Git 身份管理问题 平时会在电脑上同时使用 GitLab 和个人 GitHub / Coding 仓库进行开发,但在实际切换时经常遇到几个问题(只在换电脑时碰到): SSH key 配置不熟,每次都需要查命令重新生成或切换 不同平台( GitHub / GitLab /...
[分享创造] 一个用于 Git 多账号 SSH identity 自动隔离的 CLI 工具
[分享创造] 一个用于 Git 多账号 SSH identity 自动隔离的 CLI 工具

背景:命令行开发环境下的多 Git 身份管理问题

平时会在电脑上同时使用 GitLab 和个人 GitHub / Coding 仓库进行开发,但在实际切换时经常遇到几个问题(只在换电脑时碰到):

  • SSH key 配置不熟,每次都需要查命令重新生成或切换
  • 不同平台( GitHub / GitLab / Coding )之间的 SSH identity 容易混用
  • Git commit 的 user.name / user.email 可能仍然使用全局配置,导致提交身份错误
  • 新设备或新增账号时配置流程重复且容易出错

静态站点: https://th1humble.github.io/sshift/

仓库地址: https://github.com/Th1Humble/sshift

它的思路很简单:不包 git 命令,不做后台服务,只帮你把不同 Git host 路由到正确的 SSH key 。

主要功能:

  • 生成或选择 SSH key
  • 写入 ~/.ssh/config 里的 managed block
  • 保留已有 SSH config ,不接管你原来的配置
  • 写入前自动备份,可以 rollback
  • doctor 检查当前 repo 用的是哪个 SSH key ,以及 Git author 是否对
  • 不上传 key ,不读取私钥内容,只记录路径

目前支持 macOS / Linux ,暂不支持 Windows 。

大家看看~

来源: v2ex查看原文