我熟悉使用TortoiseGit + PuTTY访问遥控器,你可以设置用于给定遥控器的PuTTY键:
.git\config
档案...... [remote "upstream"]
url = git@gitlab.com:name/project.git
fetch = +refs/heads/*:refs/remotes/upstream/*
puttykeyfile = C:\\Users\\name\\Documents\\key.ppk
...并获得Pageant整合的好处等等。
这在本地开发环境中按预期工作。但是,我们现在在共享位置\\server\share\myrepo
共享暂存存储库,以便任何团队成员都可以根据需要更新该存储库。这意味着我们无法将puttykeyfile
值存储在\\server\share\myrepo\.git\config
中,因为它对每个团队成员都是唯一的。
是否可以在puttykeyfile
或其他特定用户而不是特定于回购的地方定义“全局”%USERPROFILE%\.gitconfig
?
答案 0 :(得分:3)
无需手动编辑.git/config
。
git config
命令包含--system
,--global
和--local
等选项。
因此,您可以通过以下方式设置您的值:
git config --global remote.upstream.puttykeyfile C:\\Users\\name\\Documents\\key.ppk
但是(如上所示)每个远程配置密钥文件。也许你应该给你的上游/起源遥控器一个更好的名字,如“github”或“gitlab”。然后你可以为github指定一个键,为gitlab指定一个键,一切都应该正常。
答案 1 :(得分:1)
不是将putty密钥文件存储在repo/.git/config
中,而是可以通过发出%HOME%\.gitconfig
将其存储在git config --global remote.upstream.puttykeyfile path\\to\\key.ppk
中,其中upstream
是远程的名称想要使用密钥。
您还可以使用PuTTY会话在那里定义默认密钥(全局用于"默认连接"或用于特定服务器名称,在SSH下调用会话 - >在PuTTY中验证)。请参阅https://tortoisegit.org/docs/tortoisegit/tgit-ssh-howto.html。
或者,您也可以切换到https
,而不是使用SSH,这些凭据存储在本地。