Hasty Briefsbeta

双语

Put SSH keys in .git to make repos USB-portable

5 months ago
  • #ssh
  • #git
  • #deploy-keys
  • 在仓库远程中仅使用部署密钥,以避免从错误的账户推送更改。
  • 过去在.ssh子目录中手动管理每个账户的密钥,但发现这种方式繁琐且容易出错。
  • 借鉴了SuperUser上的解决方案,将私钥放置在.git目录中,利用了Git的行为特性。
  • 通过运行`git config core.sshCommand "ssh -i .git/id_ed25519"`配置SSH使用.git中的密钥。
  • 密钥可以重命名,但必须更新SSH命令以反映新的文件名。
  • 此设置是自包含且可移植的,在不同路径或机器上无需重新配置即可工作。
  • 提供了示例初始化步骤,用于设置带有部署密钥的本地仓库和远程仓库。
  • 步骤包括在.git中生成SSH密钥、将公钥添加为远程仓库的部署密钥以及设置远程origin。
  • 可以使用虚拟提交来初始化仓库并设置上游分支。