Git 连接配置脚本 SSH 与 HTTPS 轻松切换 🔄

当前仓库切换为:SSH 连接/https 连接


目录导航 🧭


一、查看当前仓库配置的远程仓库信息 🔍

在执行任何更改之前,最好先检查当前的远程仓库配置:

1
git remote -v

这条命令会显示当前配置的远程仓库地址,帮助你确认当前使用的是 SSH 还是 HTTPS 协议。

提示:你还可以使用 git config --get remote.origin.url 来只获取 origin 远程仓库的 URL。


二、Git SSH 配置脚本 🔑

  • 自动将当前目录设置为 Git 安全目录
  • 将当前仓库修改为 SSH 连接方式
  • 一键完成配置并推送更改
1
2
bash <(curl -sL gitee.com/meimolihan/script/raw/master/sh/git/git_ssh_config.sh) && \
git add . ; git commit -m "update" ; git push

git_ssh_config 脚本

SSH 连接的优势:

  • 🔒 更安全:使用密钥对认证,无需传输密码
  • 更快速:连接建立后无需每次验证
  • 🔑 免密码推送:配置 SSH 密钥后无需每次输入密码
  • 🏢 适合团队:企业环境通常推荐使用 SSH 方式

三、Git HTTPS 配置脚本 🌐

  • 自动将当前目录设置为 Git 安全目录
  • 将当前仓库修改为 HTTPS 连接方式
  • 一键完成配置并推送更改
1
2
bash <(curl -sL gitee.com/meimolihan/script/raw/master/sh/git/git_https_config.sh) && \
git add . ; git commit -m "update" ; git push

HTTPS 连接的优势:

  • 🌐 通用性强:适用于所有网络环境,即使防火墙限制 SSH
  • 🔓 易于设置:不需要生成和配置 SSH 密钥
  • 👤 身份验证灵活:支持个人访问令牌(PAT)和密码
  • 🏠 适合家用:在家庭网络或公共网络中更容易使用

四、使用场景与优势 💡

何时使用 SSH 连接?

  • 🏢 企业开发环境:内部网络通常支持 SSH
  • 🔧 频繁操作仓库:避免多次输入密码
  • 🔒 安全性要求高:使用密钥认证更安全
  • 需要最佳性能:SSH 连接通常更稳定快速

何时使用 HTTPS 连接?

  • 🏠 家庭或公共网络:更容易通过防火墙
  • 🚀 快速临时访问:不需要配置 SSH 密钥
  • 👥 贡献开源项目:许多开源项目推荐 HTTPS
  • 📱 跨设备工作:在不同设备上快速克隆仓库

脚本优势:

  • 一键切换:无需手动修改 Git 配置
  • 🔧 自动安全设置:自动配置 Git 安全目录
  • 📦 完整工作流:包含提交和推送步骤
  • 🌐 多平台支持:适用于 Linux、macOS 和 WSL

五、脚本功能详解 ⚙️

Git SSH 配置脚本功能:

  1. 🔐 设置当前目录为 Git 安全目录
  2. 🔄 修改远程仓库 URL 为 SSH 格式
  3. 📝 验证更改是否成功
  4. ✅ 提供可视化反馈

Git HTTPS 配置脚本功能:

  1. 🔐 设置当前目录为 Git 安全目录
  2. 🔄 修改远程仓库 URL 为 HTTPS 格式
  3. 📝 验证更改是否成功
  4. ✅ 提供可视化反馈

脚本执行流程:

  1. 📂 检测当前目录是否为 Git 仓库
  2. 🔍 检查当前远程仓库配置
  3. ⚙️ 修改远程仓库 URL
  4. ✅ 验证修改结果
  5. 🚀 执行后续 Git 操作(添加、提交、推送)

六、注意事项 ⚠️

  1. 权限要求:确保你有权限修改远程仓库配置
  2. 网络连接:执行脚本前请确保网络连接正常
  3. 脚本来源:只运行来自可信源的脚本
  4. 密钥配置:使用 SSH 前需先配置 SSH 密钥
  5. 凭证存储:HTTPS 方式可能需要配置凭证存储
  6. 备份重要数据:在执行任何自动化脚本前备份重要更改

常见问题解决:

SSH 连接问题

1
2
3
4
5
# 检查 SSH 密钥是否已添加至 ssh-agent
ssh-add -l

# 测试 SSH 连接
ssh -T git@gitee.com

HTTPS 认证问题

1
2
3
4
5
# 配置 Git 凭证存储
git config --global credential.helper store

# 清除缓存的凭据
git credential reject


七、手动配置方法 🛠️

如果你不希望使用脚本,也可以手动修改远程仓库地址:

手动切换到 SSH:

1
2
3
4
5
6
7
8
# 查看当前远程仓库 URL
git remote -v

# 修改为 SSH 格式
git remote set-url origin git@gitee.com:username/repository.git

# 验证修改
git remote -v

手动切换到 HTTPS:

1
2
3
4
5
6
7
8
# 查看当前远程仓库 URL
git remote -v

# 修改为 HTTPS 格式
git remote set-url origin https://gitee.com/username/repository.git

# 验证修改
git remote -v

手动设置安全目录:

1
2
3
4
5
# 设置当前目录为安全目录
git config --global --add safe.directory $(pwd)

# 验证设置
git config --global --get-all safe.directory

总结 🎯

通过使用这些脚本,你可以轻松在 SSH 和 HTTPS 协议之间切换 Git 远程仓库连接方式。SSH 提供更安全和高效的连接,而 HTTPS 则更通用和易于设置。根据你的网络环境和工作流程选择最适合的连接方式。

无论选择哪种方式,记得定期检查你的连接安全性,并确保你的凭证和密钥得到妥善保管。 Happy coding! 🚀