MacOS + Android Studio:将 Git 仓库从 HTTP 切换为 SSH 并解决权限问题
在日常开发中,使用 Android Studio 顶部的 Git 菜单进行 Fetch
或 Pull
操作时,如果远程仓库是 HTTP 协议,可能会遇到提示:“Add GitLab Account”。而终端中使用 git fetch origin
却正常。
本文记录了我在 macOS 上将 Git 仓库从 HTTP 切换为 SSH,并解决 SSH 权限问题的完整过程。
问题背景
-
Android Studio 中执行 Git → Fetch 时,弹出“Add GitLab Account”对话框
-
终端中执行
git fetch origin
正常 -
查看当前 Git 远程地址:
git remote -v
输出如下:
origin http://git.example.com/yourname/yourrepo.git (fetch)
origin http://git.example.com/yourname/yourrepo.git (push)
说明:IDE 在使用 HTTP 协议时需要额外认证,而终端使用 SSH 时则通过 SSH key 自动完成认证。
目标:将远程地址从 HTTP 切换为 SSH,统一终端与 IDE 行为
步骤 1:获取 SSH 地址
打开你项目所在的 Git 服务平台(如 GitLab),点击 "Clone" 按钮,选择并复制 SSH 格式的地址,例如:
git@git.example.com:yourname/yourrepo.git
步骤 2:修改远程地址为 SSH
在项目目录下执行:
git remote set-url origin git@git.example.com:yourname/yourrepo.git
验证是否修改成功:
git remote -v
输出应为:
origin git@git.example.com:yourname/yourrepo.git (fetch)
origin git@git.example.com:yourname/yourrepo.git (push)
步骤 3:检查或创建 SSH 密钥
查看是否已有密钥:
ls ~/.ssh
如果存在 id_ed25519
和 id_ed25519.pub
,说明已有密钥。
若没有,执行以下命令创建:
ssh-keygen -t ed25519 -C "your_email@example.com"
一路回车即可,默认生成在 ~/.ssh/id_ed25519
步骤 4:将私钥添加到 ssh-agent
先启动 ssh-agent:
eval "$(ssh-agent -s)"
然后添加私钥:
ssh-add ~/.ssh/id_ed25519
输出应类似:
Identity added: /Users/yourname/.ssh/id_ed25519 (your_email@example.com)
步骤 5:将公钥添加到 Git 服务器
查看公钥内容:
cat ~/.ssh/id_ed25519.pub
然后:
-
登录你的 Git 服务器(如
git.example.com
) -
打开:
User Settings
→SSH Keys
-
将公钥粘贴进去并保存
步骤 6(可选):配置 SSH config 文件(支持多个 key)
编辑 SSH 配置文件:
nano ~/.ssh/config
添加如下内容:
Host git.example.comHostName git.example.comUser gitIdentityFile ~/.ssh/id_ed25519
保存并退出。
步骤 7:测试 SSH 是否连通
运行:
ssh -T git@git.example.com
成功时输出类似:
Welcome to Git Server, @yourname!
如果仍然出现 Permission denied (publickey)
错误,请重新检查:
-
SSH key 是否添加到服务器
-
私钥是否被加载进 ssh-agent
-
~/.ssh/config
是否正确配置
验证 Android Studio 是否生效
回到 Android Studio:
-
点击 Git → Fetch
-
如果未再提示“Add GitLab Account”,说明 SSH 已成功生效
总结
通过将 Git 仓库从 HTTP 切换为 SSH,并正确配置本地 SSH 密钥与 IDE,我们可以避免每次拉取/推送时反复输入账号密码或 token,提高开发效率。
这种方式更安全、稳定,特别适合日常开发与自动化部署场景。
相关推荐
Android开发者必看:本地项目上传GitHub与Android Studio高效Git操作指南-CSDN博客文章浏览阅读1.5k次,点赞35次,收藏26次。本文为Android开发者详细解析如何将本地项目上传至GitHub,并结合Android Studio的图形化工具实现高效的Git操作。首先,通过GitHub创建仓库、初始化本地Git、关联远程仓库、提交并推送代码,完成项目的云端托管,确保代码的安全性与团队协作便捷性。其次,重点介绍Android Studio内置的Git功能,包括仓库初始化、克隆远程项目、提交与推送更改、拉取远程更新、分支管理及冲突解决等核心操作,简化开发者对版本控制的日常使用。_android studio上传项目到githttps://shuaici.blog.csdn.net/article/details/146255074Android Studio Logcat 使用指南:从入门到高级技巧-CSDN博客文章浏览阅读984次,点赞42次,收藏29次。本文介绍了Android开发中Logcat日志工具的使用方法,包括基本操作、日志级别(VERBOSE到ASSERT)、筛选技巧(按Tag、包名、进程ID等)、高级组合查询(逻辑运算符和正则表达式),以及日志保存和ADB命令等实用技巧。帮助开发者更高效地调试应用,快速定位崩溃和错误日志。_android studio 日志等级
https://shuaici.blog.csdn.net/article/details/149364386