git 可以deploykey的方式来clone代码,但是git没有提供一个参数来指定key的路径,如何是好?
git通过deploykey的方式clone代码其实走的就是ssh,git 2.3.0后会参考一个环境变量GIT_SSH_COMMAND,完全可以通过定制该命令来指定key的路径,如下:
1 |
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_example" git clone git@gitlab.phpor.net:test/test.git |
或许在某些情况下-i选项可能会被配置文件中的定义给覆盖掉,那么可以添加 -F /dev/null 选项禁用可能的配置文件,如下:
1 |
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_example -F /dev/null" git clone git@gitlab.phpor.net:test/test.git |