Is there a way to make git remember the password for WebDAV remotes?

前端 未结 3 1280
长情又很酷
长情又很酷 2020-12-12 21:31

I\'m working with Git pushing changes to a repository shared over HTTP / WebDAV, and Git prompts for a password for every operation that accesses the HTTP remote. Is there a

相关标签:
3条回答
  • 2020-12-12 22:09

    The way is to use ~/.netrc as outlined in step 3 of this Git documentation:

    Then, add the following to your $HOME/.netrc (you can do without, but will be asked to input your password a lot of times):

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

    ...and set permissions:

    chmod 600 ~/.netrc
    

    UPDATE:

    As of git 1.7.9, it seems the way to go would be the native credential helper API. Git comes with a plaintext credential store or a less convenient but more secure temporary credential cache. It's also possible to use third-party credential helpers. So far I'm aware of a helper for the native Windows Credential Store, and one that integrates with the OS X keychain. (The Git build shipped by Homebrew has a binary for it, as might other OS X Git distributions. Github also provides a standalone binary.)

    Generally, it should be sufficient to set up the a credential helper once:

    git config --global credential.helper wincred
    

    Or instead of wincred, use whichever helper is appropriate for your platform. (If the name of the helper executable is git-credential-wincred, the value you set the option to will be wincred, etc.)

    The credential helpers also support the need to have separate sets of credentials for different repositories on the same host.

    0 讨论(0)
  • 2020-12-12 22:13

    Run this command inside your repo:

    git config credential.helper store
    

    Then push to the server once:

    git push
    

    The credentials you use to push to the server will get saved in ~/.git-credentials.

    Instructions taken from this guide here.

    0 讨论(0)
  • 2020-12-12 22:30

    Why can't you just use password in remote url?

    $ git config remote.origin.url = http://username:password@origin_link.com/repository.git
    
    0 讨论(0)
提交回复
热议问题