V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
clydelin
V2EX  ›  程序员

Git密码怎么保存的?

  •  
  •   clydelin · 2013-09-03 19:48:12 +08:00 · 5687 次点击
    这是一个创建于 4084 天前的主题,其中的信息可能已经有所发展或是发生改变。
    git在clone一个私有的工程后,第一次需要输入用户名密码,之后 push pull都不需要输入用户名密码,它的权限验证放哪儿??

    os: OS X 10.8.4
    git: 1.7.12.4 (Apple Git-37)
    10 条回复    2014-10-03 11:50:05 +08:00
    zhttty
        2
    zhttty  
       2013-09-03 20:16:03 +08:00
    https倒是没研究过,不过严重推荐使用ssh git的原生协议方式,密码存在~/.ssh目录文件下,一个私钥,一个公钥。
    ayanamist
        3
    ayanamist  
       2013-09-03 20:20:13 +08:00
    clydelin
        4
    clydelin  
    OP
       2013-09-03 20:43:48 +08:00
    @ayanamist
    @zhttty

    我现在用 http://git.oschina.net/ 也就是 gitlab了。
    ~/.ssh 下没有公钥 私钥, ~/.netrc下也没有相关文件 我现在就很疑惑 为什么不用输入密码
    clydelin
        5
    clydelin  
    OP
       2013-09-03 20:44:39 +08:00
    @zhttty github 在 .ssh 确实有公钥私钥 我知道 但是 ,,,,osc 却没有所有我有这个疑问
    msg7086
        6
    msg7086  
       2013-09-03 20:45:40 +08:00
    你连接的时候是用https还是git@
    clydelin
        7
    clydelin  
    OP
       2013-09-03 21:02:19 +08:00
    @msg7086 https
    zhttty
        8
    zhttty  
       2013-09-03 21:20:41 +08:00
    @clydelin 我也在用,挺好的,1000个私有项目。

    开源项目github,私有的oschina
    kfll
        9
    kfll  
       2013-09-03 21:25:22 +08:00
    看源码吧
    https://github.com/git/git/blob/master/credential.c
    或者 man git-credential

    如果要保存到本地,看 git-credential-store 和 git-credential-cache,对应的源码看名字就能找到了。

    如果要看调用的地方,看 https://github.com/git/git/blob/master/http.c
    PHILO10
        10
    PHILO10  
       2014-10-03 11:50:05 +08:00
    我估计你要的是这个:
    git config --global credential.helper store

    你输入一次之后就会被记录账号密码以后就不用账号密码就能提交代码了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2774 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:51 · PVG 09:51 · LAX 17:51 · JFK 20:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.