【问题标题】:Is there a way to make git remember the password for WebDAV remotes?有没有办法让 git 记住 WebDAV 遥控器的密码?
【发布时间】:2011-01-15 01:41:57
【问题描述】:

我正在使用 Git 将更改推送到通过 HTTP / WebDAV 共享的存储库,并且 Git 会提示为访问 HTTP 远程的每个操作输入密码。有没有办法让Git缓存密码/远程服务器不提示我?

远程网络服务器应该是 Apache 并且可以在必要时重新配置。

【问题讨论】:

    标签: git passwords


    【解决方案1】:

    方法是按照this Git documentation的第3步所述使用~/.netrc:

    然后,将以下内容添加到您的 $HOME/.netrc 中(您可以不添加,但将 要求输入您的密码很多次):

    machine <servername>
    login <username>
    password <password>
    

    ...并设置权限:

    chmod 600 ~/.netrc
    

    更新:

    从 git 1.7.9 开始,似乎要走的路是原生凭证助手 API。 Git 带有明文credential store 或不太方便但更安全的临时credential cache。也可以使用第三方凭证助手。到目前为止,我知道a helper for the native Windows Credential Storeone that integrates with the OS X keychain。 (Homebrew 发布的 Git 版本有一个二进制文件,其他 OS X Git 发行版也有。Github 还提供了一个standalone binary。)

    一般来说,设置一次凭证助手就足够了:

    git config --global credential.helper wincred
    

    或者代替wincred,使用适合您平台的任何帮助程序。 (如果帮助程序可执行文件的名称是git-credential-wincred,则您设置的选项值将是wincred,等等)

    凭证助手还支持为同一主机上的不同存储库拥有单独的凭证集的需要。

    【讨论】:

    • 另外,git的url中不要包含用户名,否则git不会咨询~/.netrc
    • WTF,它意味着所有远程存储库的单一密码?
    • Git 似乎没有在内部实现任何形式的身份验证,而是依靠传输提供者来处理这个问题。 libcurl(用于 HTTP 传输)或 openssh(用于“git”传输)都不知道 Git 存储库,这使得每个存储库的身份验证成为不可能。 (然而,对于 gitosis 或大多数 git 托管服务,每个存储库的 授权 是可能的。)
    • 直接回答@OlegMihailik:当使用HTTP 时,Git 对每台远程“机器”使用一个登录名/密码对,用于这台机器上的所有存储库。在使用 SSH 时,您可以通过将每个存储库的一个主机条目添加到 ~/.ssh/config 来规避这一点
    【解决方案2】:

    在你的仓库中运行这个命令:

    git config credential.helper store
    

    然后推送到服务器一次:

    git push
    

    您用来推送到服务器的凭据将保存在~/.git-credentials

    取自本指南here的说明。

    【讨论】:

    • 最好最简单的方法
    • 同意 nebulabox 和 sidhi... 不知道为什么票数这么少
    • 对我不起作用。它再次提出同样的问题。
    【解决方案3】:

    为什么不能只在远程 url 中使用密码?

    $ git config remote.origin.url = http://username:password@origin_link.com/repository.git
    

    【讨论】:

    • 如果您需要为同一主机上的两个存储库使用不同的用户名/密码,这似乎是一个不错的选择。 (缺点是至少我更有可能确保~/.netrc 不是世界可读的而不是为每个.git/config 这样做)
    猜你喜欢
    • 2013-02-23
    • 1970-01-01
    • 2018-06-25
    • 2015-01-18
    • 1970-01-01
    • 2014-11-29
    • 2019-02-24
    • 2014-03-02
    相关资源
    最近更新 更多