导航

使用SourceTree连接github

Posted on 2025-07-12 10:48  蝈蝈俊  阅读(213)  评论(0)    收藏  举报

网络问题

git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897

当您使用 --global 标志时,Git 会将配置写入您的全局配置文件(通常是 ~/.gitconfig)。这个配置会针对您当前用户账户的所有 Git 仓库生效,并且会一直保持,直到您手动修改或删除它。

认证问题

GitHub 调整了安全策略,
传统的用户名和密码通过 HTTPS 协议进行身份验证github已经停止了。

需要该用更安全的身份验证方式,主要有两种方法:使用 Personal Access Token (PAT) 替换密码,或者使用 SSH 密钥。

使用 Personal Access Token (PAT) 替换密码(推荐)

对于使用 HTTPS 协议的用户来说,使用 PAT 是最简单、直接的解决方案。

步骤 1:生成 Personal Access Token (PAT)

  1. 登录 GitHub: 访问您的 GitHub 账户。

  2. 进入设置 (Settings): 点击右上角的头像,选择 Settings。

  3. 进入开发者设置 (Developer settings): 在左侧菜单栏底部,选择 Developer settings。

  4. 进入 Personal access tokens (PATs): 在左侧菜单栏,选择 Personal access tokens -> Tokens (classic)。

  5. 生成新令牌 (Generate new token): 点击 Generate new token (classic)。

  6. 配置令牌:

  • Note (备注): 为令牌取一个易于识别的名称(例如:SourceTree-Token)。

  • Expiration (有效期): 选择一个合适的有效期(例如:90天或30天,不推荐选择 Never)。

  • Scopes (权限): 勾选 repo (访问私有和公共仓库的权限)。如果您需要推送到 Gist,也可以勾选 gist。

  1. 生成令牌并保存: 点击底部的 Generate token。

重要提示: 生成后,GitHub 会显示一次完整的 PAT 字符串。请立即复制这个字符串并妥善保存,离开页面后将无法再次看到。

步骤 2:在 SourceTree 中使用 PAT

SourceTree 通常会依赖您的操作系统或 Git 客户端的凭据管理器。

方法 A:当 SourceTree 再次要求验证时输入 PAT
  1. 在 SourceTree 中,尝试再次执行 Push 操作。

  2. 当弹出用户名/密码输入框时:

  • 在用户名 (Username) 字段中输入您的 GitHub 用户名。

  • 在密码 (Password) 字段中粘贴您刚刚生成的 PAT 字符串,而不是您的 GitHub 账户密码。

  1. 勾选记住密码选项,然后确认。
方法 B:通过 SourceTree 的账户设置更新(针对某些 SourceTree 版本)

在 SourceTree 中,进入 Tools (工具) -> Options (选项) -> Authentication (认证) 或 Accounts (账户)。

如果您已经保存了 GitHub 账户信息,尝试更新该账户的密码为 PAT。

清除 Git 凭据缓存

如果之前尝试过,SourceTree 或您的操作系统会缓存了旧的密码,需要先清除

如果您使用的是 Windows:
  • 打开 控制面板 (Control Panel)。

  • 进入 用户帐户 (User Accounts)。

  • 选择 凭据管理器 (Credential Manager)。

  • 选择 Windows 凭据 (Windows Credentials)。

  • 在“通用凭据 (Generic Credentials)”列表中,查找与 git:https://github.com 或 github.com 相关的条目。

  • 点击找到的 GitHub 相关条目,然后选择 删除 (Remove)。

如果您使用的是 macOS:
  • 打开 “钥匙串访问” (Keychain Access) 应用程序。您可以在 Spotlight 搜索中找到它。

  • 在左侧选择 “登录” (login) 和 “密码” (Passwords)。

  • 在搜索框中输入 github.com。

  • 找到与 github.com 相关的条目(通常是 internet password 类型)。

  • 右键点击该条目,选择 “删除” (Delete)。

清除缓存后的操作

清除凭据后,请返回 SourceTree:

  • 再次尝试执行 Push (推送) 操作。

  • 等待 SourceTree 弹出新的登录窗口。

  • 在弹出的窗口中,再次输入您的 GitHub 用户名。

  • 在密码字段中,粘贴您之前生成的 Personal Access Token (PAT)。

  • 确保您粘贴的是 PAT 字符串,而不是您的 GitHub 账户密码。

完成以上步骤后,Git 应该会使用您的 PAT 进行验证,解决“Authentication failed”错误。

MacOS最新版本有了个“密码”工具,钥匙串访问应用默认不在应用列表中。

请尝试以下两种最快的方法来打开“钥匙串访问”:

方法一:使用 Spotlight 搜索(推荐)
这是 macOS 上最快的启动应用程序方式。

按下键盘上的 Command (⌘) + Space 组合键,打开 Spotlight 搜索。

在搜索框中输入 Keychain Access (英文)或 钥匙串访问 (中文)。

应用程序图标出现后,按下 Enter 键即可打开。

方法二:通过 Finder 导航
如果您喜欢通过文件夹查找,可以按照以下路径找到它:

打开 Finder。

在顶部菜单栏中,点击 前往 (Go) -> 实用工具 (Utilities)。

在“实用工具”文件夹中,找到并双击打开 “钥匙串访问” (Keychain Access)。

解决方案二:切换到 SSH 协议

SSH 协议是另一种更安全、更便捷的 Git 交互方式,一旦配置好,后续操作无需输入任何凭据。

步骤 1:生成 SSH 密钥

打开您的终端(Windows 用户可以使用 Git Bash)。

运行命令生成密钥(请将 your_email@example.com 替换为您的 GitHub 邮箱):

ssh-keygen -t ed25519 -C "your_email@example.com"

一路按回车,直到生成完成(密钥通常会保存在 ~/.ssh/id_ed25519)。

步骤 2:将公钥添加到 GitHub

复制您的公钥内容。在终端中运行(Mac/Linux):

cat ~/.ssh/id_ed25519.pub

或者手动找到该文件并打开。

登录 GitHub,进入 Settings -> SSH and GPG keys。

点击 New SSH key。

在 Title 处输入一个名称(例如:My SourceTree SSH Key),将公钥内容粘贴到 Key 文本框中。

点击 Add SSH key。

步骤 3:在 SourceTree 中切换仓库地址

由于您是通过 HTTPS 克隆的仓库 (https://github.com/ghj1976/taichi.git),您需要将远程仓库地址切换为 SSH 格式。

在 SourceTree 中,选中您的项目。

进入 Repository (仓库) -> Repository Settings (仓库设置)。

找到 Remotes (远程仓库) 选项卡。

选择 origin,点击 Edit (编辑)。

重要: 将 URL 从 https://github.com/ghj1976/taichi.git 改为 git@github.com:ghj1976/taichi.git。

点击确定,然后再次尝试推送。