SourceTree提交时账号密码无效

本文介绍如何通过Git命令行设置全局用户名和邮箱,以便在SourceTree等Git客户端中提交更改时自动填充账户信息,简化验证流程。

在git命令行中输入:
git config --global user.name "xxx"
git config --global user.email "xxx"
之后,SourceTree会弹出验证账号密码的提示框,输入完成即可提交成功。

<think>我们参考了用户提供的两个引用,并结合常见解决方案来处理Sourcetree一直要求输入账号密码的问题。 引用[1]提到:先在命令行使用git clone一次,然后就可以在Sourcetree中正常克隆。 引用[2]提到:由于账号密码错误导致url无效,并且是在windows环境下,需要解决认证问题。 实际中,Sourcetree反复要求输入密码通常是因为认证信息没有正确保存。我们可以通过以下步骤解决: 1. 清除已保存的凭据:在Windows中,凭据管理器可能存储了旧的账号密码,需要删除。 2. 使用命令行进行一次克隆操作,这样可以让git重新记录凭据(或者使用Git Credential Manager来保存)。 3. 在Sourcetree中重新克隆或更新远程仓库地址。 具体步骤: ### 步骤1:清除Windows凭据 1. 打开“控制面板” -> “用户帐户” -> “凭据管理器” 2. 在“Windows凭据”选项卡下,找到与你的Git服务器(如github.com, code.aliyun.com)相关的凭据。 3. 删除这些凭据。 ### 步骤2:使用命令行克隆(推荐使用Git Bash) 1. 打开Git Bash(或命令提示符) 2. 运行命令:`git clone https://github.com/你的用户名/仓库名.git` 3. 此会提示输入用户名和密码(注意:如果使用GitHub,密码应使用Personal Access Token,因为GitHub已经不支持密码登录) 4. 输入正确的凭据后,命令行会克隆仓库。成功后,凭据会被保存。 ### 步骤3:在Sourcetree中操作 1. 重新打开Sourcetree,尝试克隆同一个仓库,此应该不再要求输入密码。 2. 如果之前已经克隆了仓库,但每次操作都要求输入密码,可以尝试在Sourcetree中重新设置远程仓库URL: - 打开仓库,点击菜单“仓库” -> “仓库设置” - 在“远程仓库”选项卡中,选择你的远程仓库(通常是origin),然后点击“编辑” - 将URL修改为:`https://你的用户名@github.com/你的用户名/仓库名.git` (注意:这里显式添加用户名,有助于认证) - 或者使用SSH方式(推荐):使用SSH密钥,这样就不需要每次输入密码。在Git服务器上设置SSH公钥,然后将远程URL改为SSH格式(如:git@github.com:你的用户名/仓库名.git) 注意:对于GitHub,从2021年8月开始,已经不再支持账号密码的方式操作远程仓库,必须使用Personal Access Token(PAT)或者SSH密钥。因此,如果使用HTTPS方式,在命令行克隆输入的密码应该是PAT。 ### 使用SSH方式(推荐避免密码输入) 1. 生成SSH密钥(如果还没有): - 在Git Bash中运行:`ssh-keygen -t ed25519 -C "your_email@example.com"` - 按照提示操作,将密钥保存在默认位置(~/.ssh/id_ed25519) 2. 将公钥(~/.ssh/id_ed25519.pub)的内容添加到GitHub(或其它Git服务器)的SSH keys设置中。 3. 在Sourcetree中,使用SSH URL克隆仓库(如:git@github.com:user/repo.git) 这样,Sourcetree将使用SSH密钥进行认证,不再需要输入密码。 以上步骤应能解决Sourcetree反复要求输入密码的问题。 §§相关问题§§ 1. 如何为GitHub生成SSH密钥? 2. 如何在GitHub上添加SSH公钥? 3. 如何将Git远程URL从HTTPS切换到SSH? 4. 如何创建GitHub Personal Access Token? </think> 根据提供的引用和常见解决方案,以下是解决Sourcetree反复要求输入账号密码的有效方法: ### 解决方法分步指南 1. **清除旧凭据(关键步骤)** - 打开Windows凭据管理器: Win+R 输入 `control /name Microsoft.CredentialManager` - 在「Windows凭据」选项卡中,找到 **普通凭据** 分类 - 删除所有与Git相关的凭据(如 `git:https://github.com` 或目标代码平台条目)[^1][^2] 2. **命令行测试克隆(刷新凭据)** ```bash git clone https://github.com/你的用户名/仓库名.git ``` - 按提示输入**最新账号密码**(GitHub需用[Personal Access Token](https://github.com/settings/tokens)替代密码) - 成功后关闭命令行 3. **重置Sourcetree配置** - 打开Sourcetree → 工具 → 选项 → 验证 - 删除所有已保存的账号信息 - 重新添加账户(推荐使用SSH密钥更安全) 4. **修改仓库远程URL(针对已克隆仓库)** - 在Sourcetree中:仓库 → 仓库设置 → 远程仓库 - 将URL改为带用户名的格式: `https://你的用户名@github.com/路径/仓库.git` ### 替代方案:切换SSH协议(推荐) ```bash # 生成SSH密钥(如果尚未创建) ssh-keygen -t ed25519 -C "your_email@example.com" # 复制公钥内容 cat ~/.ssh/id_ed25519.pub ``` 1. 将公钥添加到GitHub/GitLab等平台的SSH Keys设置页 2. 在Sourcetree中克隆选择SSH协议: `git@github.com:用户名/仓库名.git` > ⌑ **注意**:GitHub从2021年起已禁用密码验证,必须使用[Personal Access Token](https://github.com/settings/tokens)或SSH密钥[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值