GitHub凭据帮助程序与wincred凭证帮助程序冲突

时间:2014-10-31 19:07:47

标签: git github credentials

我必须能够在两个上下文中执行Git命令:

  1. 在posh-Git(和Windows UI的GitHub)中
  2. 在Windows资源管理器中双击批处理文件(我创建了一系列简化非技术项目参与者Git使用的批处理文件)
  3. 除了推送/拉取操作之外,一切都很完美,其中存在凭证助手问题。使用helper = !github –credentials中使用etc/.gitconfig的默认GitHub设置,远程操作适用于上下文1但不适用于上下文2(每次都要求凭据)。如果我将helper = wincred添加到user/.gitconfig,那么上下文1工作正常,上下文2工作正常,尽管它首先抱怨:

    github --credentials get: github: command not found
    github --credentials store: github: command not found
    

    (我认为它会抱怨,因为它试图使用GitHub帮助程序,但不能在上下文2中)但是然后继续执行推送:

    Counting objects: 11, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (5/5), 467 bytes | 0 bytes/s, done.
    Total 5 (delta 1), reused 0 (delta 0)
    ...
    

    我可以接受投诉,但问题是每当启动GitHub for Windows时,它都会从helper = wincred中删除user/.gitconfig

    问题是:我可以

    1. 获取上下文1以使用wincred帮助程序
    2. 让GitHub助手在上下文2中工作
    3. 阻止GitHub for Windows删除wincred(虽然这种行为可能是正确的,因为我认为你不应该有两个凭据助手)
    4. 安装将在两个上下文中都有效的其他凭据帮助程序

1 个答案:

答案 0 :(得分:14)

我有类似的问题,并联系了GitHub支持并得到了这个回复:

  

你要点击的是GitHub的配置清理程序   Windows在启动时运行。我们过去曾见过重大问题   与其他Git客户端添加无效/错误的配置值   这个文件给用户带来了不好的体验 - 所以我们不得不采取措施   缓解这些问题。

     

这是选择加入,您可以通过运行以下操作来绕过此选项   命令:

     

git config --global ghfw.disableverification true

这解决了我的问题