【问题标题】:TortoiseGit and Pageant, have to "add key" every timeTortoiseGit 和 Pageant,每次都必须“添加密钥”
【发布时间】:2011-08-15 17:44:00
【问题描述】:

背景: 我在 github.com 上使用 git 和 TortoiseGit。我在 .git 本地分支上的开发周期是这样的:

1) Make whatever changes
2) Right-click on directory, choose "Git Commit -> branch"
3) Input the message and commit
4) Right-click on same directory, choose "Git Push"
5) I choose my options and...

我每天第一次这样做时,Pageant 会在后台自动加载,并且它的图标会出现在系统托盘中。但是,它不记得我前一天(或重新启动)之前加载的 private.ppk。

每次我必须:

Right-click -> "Add key" -> and then redo 4) and 5) above

然后它就可以工作了。我创建了一个手动图标/快捷方式,我可以点击自动加载:

"C:\Program Files\TortoiseGit\bin\pageant.exe" c:\path\to\private.ppk

如果我使用该快捷方式启动,它会将密钥加载到内存中并且可以正常工作。


问题:我怎样才能让 TortoiseGit 记住或将“c:\path\to\private.ppk”参数传递给选美比赛,这样当它第一次自动加载时它也会自动-加载我的私钥?

我可以使用持久设置吗?

提前致谢! :-)

【问题讨论】:

  • 如果您在使用 Tortoise SVN 做任何事情之前使用您的密钥加载选美比赛,它会要求您做任何事情吗?
  • 这是 Tortoise Git,而不是 SVN,但是如果我通过在命令行上提供“c:\path\to\private.ppk”手动预加载,那么它可以工作。
  • 刚刚预加载的选美比赛(在您的开始配置文件中带有 .cmd)。
  • 没有办法让 TortoiseGit 自动处理这个问题吗?它自己发起选美比赛,当然传递参数是不可撤销的。也许我有一个新项目要贡献(添加此功能)。 :-) 谢谢,马特!
  • 您是否意识到,当您提交时,告诉您它工作的“Git 命令进度”窗口在左下方有一个按钮,上面写着“推送”?这并不能解决您最初的问题,但可以加快您的步骤 4) ;-)。

标签: git windows-7 github tortoisegit pageant


【解决方案1】:

我只是在“开始”菜单的“启动”文件夹中放置了一个带有 PPK 的 pageant.exe 快捷方式,以便在 Windows 启动时自动加载(尽管它也会要求输入密码)。

"C:\Program Files\TortoiseGit\bin\pageant.exe" "D:\Dev\Git Private Key.ppk"

【讨论】:

    【解决方案2】:

    如果您知道正确的位置,一切都会非常快速轻松地完成:

    1. 打开项目文件夹中的“TortoiseGit > 设置”
    2. 导航到“Git > 远程”
    3. 选择正确的原点
    4. "Putty Key" > "..." > 导航到您的 *.ppk 文件
    5. 瞧!

    或者简单地在“some_project\.git\config”文件中手动添加一个“puttykeyfile”条目:

    [remote "origin"]
        url = git@github.com:some_one/some_project.git
        fetch = +refs/heads/*:refs/remotes/origin/*
        puttykeyfile = C:\\Users\\some_one\\.ssh\\some_one@some.com\\id_rsa.ppk
    

    【讨论】:

    • 这对我有用,而且似乎是 TortoiseGit 开发人员想要完成的方式。
    【解决方案3】:

    正如@Simon East 所说,将正确的链接加载到启动文件夹中是正确的方法。

    对于在控制台提示符和资源管理器中使用多个键tortoisegitputtypageantTortoisegit 的人来说,解决此问题的另一种方法是在需要时启动pageant(与远程存储库交互时)。并为每个远程存储库使用正确的密钥。

    我已经为 Tortoisegit 的 ssh 客户端编写了包装器,它会根据与之交互的存储库来检查选美并加载密钥。目前它只检查 github repos 并将它们链接起来。但其他 bitbuket 或 gitlabs 功能可以添加到source code

    它只是为了个人方便而创建的,所以不要打我:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      • 2016-05-08
      • 1970-01-01
      • 2018-02-06
      • 2015-01-04
      • 2020-09-11
      相关资源
      最近更新 更多