背景:命令行开发环境下的多 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 。
大家看看~