好的,这是一个非常具体的问题,但我在弄清楚它时遇到了一些挑战,所以我想我会分享我的经验,所以如果其他人遇到同样的问题,他们可以更快地解决它。
目标:使用 ssh-agent 和 msysgit 尽可能安全地存储 ssh 密钥密码,以防止必须为涉及远程存储库的每个 git 命令键入它
1).bashrc
在用户目录中创建一个文件(默认 windows C:\Users\UserName\
)
注意:如果你认为你可以在 Windows 资源管理器中右键单击目录并创建一个名为.bashrc
你(和我)的文件,很遗憾,你会从错误中得到一个错误资源管理器阻止您创建没有名称的文件。因此,我通过执行从我的 git bash 执行此操作echo 'blah' >> .bashrc
,以便我可以在记事本中编辑文件以将所需的代码放入其中。
2).bashrc
在文本编辑器中编辑并将代码放在此处:https : //help.github.com/articles/working-with-ssh-key-passphrases#platform-windows 在“Auto-launching ssh-agent on msysgit”下
3)重新启动bash。
故障排除:ps
将显示所有正在运行的进程。我发现当我对此进行测试时,启动 bash 时并没有提示我输入密码。当我执行时,ps
我注意到许多 ssh-agents 正在运行。将它们全部杀死后,我能够重新启动 git bash 并且一切正常。识别这个问题花了我最长的时间。
如何在 git repo-url 中包含 pass:
git clone http://username:password@example.com/git/Project.git .
这不是很安全的解决方案,但有效:)