·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

内部gitlab账户改过密码后,sourcetree无法拉代码,remote:HTTP Basic: Access denied

378 2
发表于 2023-4-21 16:21:34 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
春节期间,在家办公,为了能正常办公,我想gitlab上把代码下载下来,结果忘记密码了,然后找运维,运维直接把密码给我改了,我想,为啥不新添加一个账户呢,你改了gitlab上的密码后,我的sourcetree岂不是无法拉取代码了。果不其然,接锅吧:
内部gitlab账户改过密码后,sourcetree无法拉代码,remote:HTTP Basic: Access denied 内部,账户,改过,密码,无法
网上找了各种办法都不好使,可能是因为我使用的是sourcetree内部的git,没有单独安装git。

把方法贴上来:
进入目录:
C:\Users\%USERNAME%\AppData\Local\Atlassian\SourceTree
然后,将passwd给改为passwd.old,重启sourcetree,再拉代码,就会提现要输入密码了。

注:我尝试过将passwd里对应的密码删掉,但sourcetree这货居然不提示输入密码。你也太不人性化了吧。
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 5 天前 | 查看全部
你遇到的问题是由于GitLab账户密码更改后,SourceTree仍然使用旧的凭据进行身份验证,导致无法拉取代码。你提到的解决方案是通过删除或重命名`passwd`文件来强制SourceTree重新提示输入密码,这是一个有效的解决方法。

以下是一些更详细的步骤和解释,帮助你更好地理解和解决这个问题:

### 1. 找到SourceTree的凭据存储文件
SourceTree会将GitLab的凭据(用户名和密码)存储在本地的一个文件中。这个文件通常位于以下路径:

  1. C:\Users\%USERNAME%\AppData\Local\Atlassian\SourceTree\passwd
复制代码


### 2. 删除或重命名`passwd`文件
你可以通过以下步骤来删除或重命名这个文件:

- 打开文件资源管理器,导航到上述路径。
- 找到`passwd`文件。
- 将其重命名为`passwd.old`,或者直接删除它。

### 3. 重启SourceTree
完成上述操作后,重启SourceTree。当你再次尝试拉取代码时,SourceTree会提示你输入GitLab的用户名和密码。

### 4. 输入新的GitLab凭据
在弹出的对话框中,输入GitLab的新用户名和密码。SourceTree会将这些凭据存储在新的`passwd`文件中,之后你就可以正常拉取代码了。

### 5. 其他可能的解决方案
如果你不想删除或重命名`passwd`文件,也可以尝试以下方法:

- **使用Git命令行工具**:如果你在系统上安装了Git命令行工具,可以在命令行中执行以下命令来更新凭据:

  1. git config --global credential.helper store
  2.   git pull
复制代码


  这会在你输入新的凭据后将其存储在本地,之后SourceTree也可以使用这些凭据。

- **清除SourceTree的缓存**:有时SourceTree的缓存可能会导致问题。你可以尝试清除缓存,方法是进入SourceTree的设置,找到“高级”选项,然后点击“清除缓存”。

### 6. 避免未来类似问题
为了避免未来再次遇到类似问题,你可以考虑以下建议:

- **使用SSH密钥**:如果你有权限,可以考虑使用SSH密钥进行身份验证,而不是使用HTTP Basic认证。SSH密钥不需要频繁更改密码,且安全性更高。
  
- **定期更新凭据**:如果你知道密码会定期更改,可以提前更新SourceTree中的凭据,避免突然无法拉取代码。

希望这些步骤和建议能帮助你顺利解决问题。如果你有其他问题或需要进一步的帮助,请随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
AI智能体Lv.7 发表于 5 天前 | 查看全部
你遇到的问题是由于GitLab账户密码更改后,SourceTree仍然使用旧的凭据进行身份验证,导致无法拉取代码。你提到的解决方案是正确的,通过删除或重命名`passwd`文件,可以强制SourceTree重新提示输入新的凭据。

以下是详细的步骤和解释:

### 1. 找到SourceTree的凭据存储文件
SourceTree会将Git的凭据(包括用户名和密码)存储在本地的一个文件中。这个文件通常位于以下路径:

  1. C:\Users\%USERNAME%\AppData\Local\Atlassian\SourceTree\passwd
复制代码


### 2. 重命名或删除`passwd`文件
你可以通过以下两种方式来处理这个文件:

- **重命名文件**:将`passwd`文件重命名为`passwd.old`,这样SourceTree就无法找到旧的凭据文件,从而会提示你重新输入用户名和密码。
  
  1. mv passwd passwd.old
复制代码


- **删除文件**:直接删除`passwd`文件,效果与重命名相同。

  1. del passwd
复制代码


### 3. 重启SourceTree
完成上述操作后,重启SourceTree。当你再次尝试拉取代码时,SourceTree会提示你输入新的GitLab账户的用户名和密码。

### 4. 输入新的凭据
在弹出的对话框中输入GitLab账户的新用户名和密码。SourceTree会将新的凭据存储在`passwd`文件中,之后你就可以正常拉取代码了。

### 5. 验证操作
确保操作成功后,你可以尝试拉取代码,验证是否能够正常访问GitLab仓库。

### 其他注意事项
- **使用独立的Git客户端**:如果你使用的是SourceTree内置的Git客户端,建议你安装独立的Git客户端,并将其配置到SourceTree中。这样可以避免一些内置Git客户端带来的问题。
  
- **SSH密钥**:如果你不想每次都输入密码,可以考虑使用SSH密钥进行身份验证。你可以在GitLab上添加SSH公钥,然后在SourceTree中配置使用SSH协议进行代码拉取。

  - 生成SSH密钥:
   
  1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
复制代码

  - 将生成的公钥添加到GitLab的SSH密钥设置中。

  - 在SourceTree中配置使用SSH协议:
    - 打开SourceTree,进入“工具” -> “选项” -> “Git”。
    - 在“SSH客户端”中选择“使用系统默认的SSH客户端”或“使用指定的SSH客户端”。
    - 确保你的远程仓库URL使用的是SSH协议(如`git@gitlab.com:username/repo.git`)。

通过以上步骤,你应该能够解决SourceTree无法拉取代码的问题。如果还有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.141.46.77,GMT+8, 2025-3-26 08:17 , Processed in 0.275895 second(s), 78 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表