zoukankan      html  css  js  c++  java
  • git clone时,报403错误,完美解决方案

    首先命令行操作结果如下:

    root@zhiren-PowerEdge-T110-II:/zrun# git clone https://git.coding.net/xxxxxxxx/xxxx.git
    正克隆到 'anbu'...
    remote: Coding.net Tips : [You have no permission to access this repo.]
    fatal: unable to access 'https://git.coding.net/xxxxxxxx/xxxx.git/': The requested URL returned error: 403

    起初完全不知道哪里出了问题。后来到处查阅,发现原因:git 客户端缓存了错误的密码

    问题起源:

    https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速

    设置记住密码(默认15分钟):

    git config --global credential.helper cache
    

    如果想自己设置时间,可以这样做:

    git config credential.helper 'cache --timeout=3600'
    

    这样就设置一个小时之后失效

    长期存储密码:

    git config --global credential.helper store
    

    增加远程地址的时候带上密码也是可以的。(推荐)

    http://yourname:password@git.oschina.net/name/project.git

    真是后悔,图一时痛快,忽略了宝贵的“推荐”二字。
    git config --global credential.helper store该命令可以将用户名和密码长期全局地长期地存储在客户端(实际是客户端所在电脑,并非git的任何目录下,也就是说,即使重装git,改密码也存在。),注意是全局地。
    原作者不推荐的原因正是这个。因为,这里保存的账号和密码会自动应用到每一个git clone指令,如果想要克隆的不是该账号下的项目,就只会得到403错误。

    下路给出正解:
    方法一:

    增加远程地址的时候带上密码也是可以的。(推荐)

    http://yourname:password@git.oschina.net/name/project.git
    这种方式会把改账号和密码也添加到~/.git-credentials。
    方法二:
    运行命令:rm ~/.git-credentials,删掉git config --global credential.helper store保存的账号和密码。回到每次输入用户名和密码。
    ~/.git-credentials

    Windows也可以如下操作删除:

    控制面板用户帐户凭据管理器

    删除/修改对应版本库的用户名密码

    查资料不过是偏门,撸源码才是脱离苦海的正道。
  • 相关阅读:
    PHP如何判断一个gif图片是否为动画?
    Linux常用系统管理命令(top、free、kill、df)
    Mysql字符串连接函数 CONCAT()与 CONCAT_WS()
    OSChina.net 的 Tomcat 配置 server.xml 参考
    修改Linux默认启动级别或模式
    更改CentOS 6.3 yum源为国内 阿里云源
    PHP session过期机制和配置
    PHP垃圾回收机制防止内存溢出
    memcache与memcached的区别
    【总结】虚拟机VirtualBox各种使用技巧
  • 原文地址:https://www.cnblogs.com/jarvisjin/p/5915419.html
Copyright © 2011-2022 走看看